憂愁的篩子
一个地方,你可以吐露那些太过让人好奇想要验证却一直拖延的事情,让自己感到清爽。
憂愁的篩子指
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はこの文脈でどれくらい効果があるんだろう