憂愁的篩子

一个地方,你可以吐露那些太过让人好奇想要验证却一直拖延的事情,让自己感到清爽。

憂愁的篩子指

Kubernetes (K8s)

oracle/navarkos

Federated Clusters間でPodをリバランスする

Pod Disruption Budget (Pod 摧毁预算)

昨天花了大约2个小时试用Kubernetes容器中断策略,看看它们是否按照广告中承诺的那样工作。结果遇到了多个问题,最终编写了几页长的薪火纪录。理论上很棒,但并没有按照用户的期望方式运行。

Stages

helm installはK8Sによるローリングアップデート等基本的なデプロイ戦略にしか対応しない。そうではなく、デプロイに複数ステージを含められないか、という提案。たとえばDBマイグレーションを実行してからデプロイ、のように。

Brigadeを使う方向性らしい

例: https://github.com/technosophos/hello-helm/blob/7b8b7fb4dd0d9cb31b7e789b8874800b2a80ae31/brigade.js#L22-L27

智能服務網格

    • istioとlinkerdのメモリ消費の比較

https://groups.google.com/forum/#!topic/istio-users/Rd3aJSzvWaw
Squeezing blood from a stone: small-memory JVM techniques for microservice sidecars » Buoyant » open source service mesh for cloud native applications

スケーラビリティ

Scale issues in istio-pilot discovery service, affecting alpha perf targets and installation · Issue #1485 · istio/istio

服务代理

    lyft/envoy

API 网关

    • Kong

Proxy部分にはnginx利用
OpenTracing非対応

issueはある

Ambassador

Proxy部分にはenvoy利用
OpenTracing非対応
istioと組み合わせられる

iostioがinternal service communication、ambassadorがapi gateway
ambassadorの機能はistioに徐々に移植されていく

分布式跟踪

    • OpenTracing

Samplingの仕様がまだ定まっていない

https://github.com/opentracing/specification/issues/11
jaegerはサンプリングの独自実装あり、Instanaはなし

grpc-opentracing-java

GRPC Server、Client用のInterceptorあり

https://github.com/grpc-ecosystem/grpc-opentracing/tree/master/java

http server/client部分はistioなどでカバーできるはず
あとはJava内のメソッドコールなどのトレースをどうやってとるか

Tracers

http://opentracing.io/documentation/pages/supported-tracers
LightStep

各言語のtracerがgrpc対応やauto instrumentation対応してない。あえてこれを選ぶ理由はない

sky-walking

jdbcなどのauto instrumentationとopentracingに対応

skywalkingとgrpc-opentracing-javaの組み合わせはあり
またはopentracingを使って自前実装

https://github.com/wu-sheng/sky-walking/issues/169

Hawkular APM

https://medium.com/opentracing/building-the-open-source-hawkular-apm-at-red-hat-c3e4f0157513
担当者がjaegerに移行(http://www.hawkular.org/hawkular-apm/)

jaeger

強制・ランダムなどアなどさまざまなサンプリング戦略に対応

https://github.com/uber/jaeger-client-node/tree/master/src/samplers

jaeger-client-node

tchannel-node用ハンドラ付き

tchannelによるRPCをjaeger経由で自動的にトレースできる

tchannel経由で他サービスに通信するときは自動的にトレースしてくれる

他は自前でInstrument
jaeger-clientはopentracing tracerの実装を提供。他のopentracing tracer同様に使える

Instana

instana/ruby-sensor

基本的にはInstrumentationは自動

grpc対応済み(https://github.com/instana/ruby-sensor/pull/77)

自動的にInstrumentできないところに関しては、

opentracing-ruby準拠なので、他のopentracing-rubyクライアントと同様にも使える
独自で非同期処理、別スレッド、ジョブキューに投げたジョブまでトレースできるAPIを用意

网页服务器与负载均衡器的对比

有趣的文章:https://thehftguy.com/2016/10/03/haproxy-vs-nginx-why-you-should-never-use-nginx-for-load-balancing/

    • Nginx as web server

 

    • Nginx + nginx-module-vts as load balancer

https://github.com/vozlt/nginx-module-vts

nginx-vts-exporter to integrate with prometheus

HAProxy as load balancer

可观测性 (kě

    • Log, Metric, Trace

ZipkinのUIにログサービスのテンプレートURLを設置するオプションがある(Nikeで利用事例あり)

https://github.com/openzipkin/zipkin/tree/master/zipkin-server#configuration-for-the-ui

监控

相关讨论和文章:

    • 2015.10.26 database – Usecases: InfluxDB vs. Prometheus – Stack Overflow

2017.4.17 Prometheus and InfluxDB: InfluxDB as a Remote Storage Back End

SparkSQL 简述

    • https://japan.zdnet.com/article/35076398/

 

    hadoop – SparkSQL vs Hive on Spark – Difference and pros and cons? – Stack Overflow

仪表板制作

相关讨论:
* https://news.ycombinator.com/item?id=13062998
* http://qiita.com/hiro_koba/items/65f3e278d86174210776
* https://www.pervasivecomputing.net/data-analytics/superset-vs-redash-vs-metabase
* Redash – 连接到任何数据源,轻松可视化和共享您的数据 | Hacker News

开源操作系统:

    • Redash

 

    • Superset

 

    • Atlasboard

 

    Cyclotron

为了BI,应选择哪个Dashboard?

    • Redash

SparkSQL対応の可能性あり
標準的なSQLにとどまらないクエリをサポートできる
https://discuss.redash.io/t/creating-a-new-query-runner-data-source-in-redash/347

参考: MemSQL対応 https://github.com/getredash/redash/pull/1746

SQLでUIに表示されるfilterやparameterも定義できる
https://news.ycombinator.com/item?id=13598402

Supserset

SparkSQL
SQLAlchemyの対応待ちだけど難しそう

https://github.com/apache/incubator-superset/issues/241

pyhive経由でいけるという情報もあり

https://github.com/apache/incubator-superset/pull/803/files

JOINも一応可能
https://github.com/apache/incubator-superset/issues/875
PostgresのTIMESTAMP WITH TIMEZONEに対応してない
https://github.com/apache/incubator-superset/issues/1900

自我托管的日志存储和搜索基础设施

    • ELK?

 

    • Grafana + Graylog2?

Graylog2に蓄積したログでGrafanaのグラフにアノテーションをつけることができる
http://www.no-tomato.com/2015/02/04/annotations-with-grafana-and-graylog2/

我想要立即从仪表板执行对警报的操作。

    Grafanaプラグインでkubectl runパネルつくる?

想要解决经营、基础设施和应用程序的指标分散在多个仪表板和数据源中的情况。

    • ログとメトリクスを同じサービスから閲覧、検索したい

Grafana + Prometheus + Elasticsearch
Grafana 2.6からはテキストデータもダッシュボードに表示できるようになった https://sematext.com/blog/2015/12/14/using-grafana-with-elasticsearch-for-log-analytics-2/

Elastic StackでK8Sモニタリング
Elasticsearchに全Podのログとメトリクスを
Kibanaでログもメトリクスもまとめて見られる。DatadogとStackdriverLoggingのようにメトリクスとログで異なるサービスを行き来しなくてもよい
Kibanaでログをストリーミング/tailできる https://github.com/sivasamyk/logtrail

Kibanaでログの集約結果をグラフ化できる https://www.scaleway.com/docs/how-to-use-the-elk-stack-instant-apps/

ビジネスよりの指標もSQLで分析、ダッシュボード化したい

GrafanaにMySQLソースが追加された
https://github.com/grafana/grafana/pull/5364
http://play.grafana.org/dashboard/db/new-features-in-v4-3?orgId=1

Grafanaでログtail?

Grafanaプラグインにjs+htmlで作ったパネルが含められるなら、それで実装できる?
deflectorというalias対象にクエリを発行しないと重いらしい
https://groups.io/g/grafana/topic/3040000

分散追踪

    • loki: Pull型のZipkin https://github.com/weaveworks-experiments/loki

jaegar: https://github.com/uber/jaeger

我想要创建这样的开源软件。

lvizのgolang実装

lviz参考URL: https://blog.codeship.com/logfmt-a-log-format-thats-easy-to-read-and-write/

著名な構造化されたログフォーマットであればいいから、logfmtじゃなくてbunyanベースで考えてもよいかもしれない
仕様はないけどjsonlogベースで考えてもよいのかも

https://github.com/docker/docker/blob/master/pkg/jsonlog/jsonlog.go
Log Everything as JSON. Make Your Life Easier. | Treasure Data Blog

Google Stackdriver Loggingログをlogfmt形式でtailするもの

これもbunyan形式のほうがいいかもしれない

想要试用这个开源软件。

    • 高速ロギングライブラリuber-go/zap

このPRがマージされて1.0になったら

我希望Datadog有这个功能,不知道有没有?

    • ioping monitor

iopingでio latencyがわかるらしいので、それがdatadogから見れるといいなぁ
https://www.cyberciti.biz/faq/linux-freebsd-openbsd-macosx-find-disk-io-latency-with-ioping/

MySQL 是一种开源的关系型数据库管理系统。

    • マルチソースレプリケーション

这是一个瑞典单词,意为”彩虹”。

    • “起動までの時間はdesired countによらずおおよそ60秒程度”

https://qiita.com/nabeken/items/69b47e2d346a61d34176
EKSとの統合が予定されているが、これくらい時間かかるならC5インスタンスを普通に増やしても同じくらいの時間で収まりそう

JVM 的中文释义是 Java 虚拟机。

    • JITコンパイル済みコードのキャッシュのけん

 

    • https://stackoverflow.com/questions/1992486/why-doesnt-the-jvm-cache-jit-compiled-code

Java9のAOTはこの文脈でどれくらい効果があるんだろう

广告
将在 10 秒后关闭
bannerAds