Skip to main content

标 题: Re: ES怎么玩?


还在摸索中... 目前在试着当 backend 的 logging service 用, 公司没人懂这个, 希
望这项目不要夭折了.
先分享点不成熟经验吧.

主要感觉是,ES 可以配置可使用的功能太多了

querying / indexing 功能上讲,我感觉
ES >> mongo > dynamoDB (我没用过 Cassandra, 就用 dynamoDB 来比较了)
ES 内置那些 field 内的全文检索太给力,还可以配置不同的文本 analyzer,甚至有
中文的,
用来做 searching engine 都可以了.

反应速度上讲,据说是
ES < mongo ? dynamoDB
看了一堆 online posts,是不支持把 ES 当 primary DB 用的,
也就是说用 mongo/dynamoDB/Cassandra 存商业逻辑的 data,ES 存那些需要全文检索
的 (文本啊, log啊, analysis data 啊), ES 自己的定位也是 near-real-time
searching (就是存入到能 indexing,有个 delay).

ES 公司还有 logstash (log collecting agent), Kibana GUI,
Kibana 用着还不错, logstash 是 ES公司后来买的,用着不是很爽.
logstash 是默认跑在 JRuby 上的,如果公司 backend 端的所有 server 都跑一个
JRuby over JVM 来 collecting log,实在有点重,特别是考虑到有些小 server 就是
一个 AWS micro instance. 我考虑 deploy Go 版本的 logstash forwarder. 但是
logstash 这货做messaging queuing 不太给力,protocol 太简单,感觉还是得上
Kafka 这种专门做 logging 的 message queue.

顺便问下,Kafka 的 client 算轻量级吗, 我看什么语言都支持呀:
https://cwiki.apache.org/confluence/display/KAFKA/Clients
是不是跑在 client (web browser, mobile) 和 server 端都不太费资源?
Kafka 的 load balancing cluster 一般是怎么配的. 求经验分享~~
http://gengwg.blogspot.com/

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...