±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn,´óÊý¾ÝÎÒÃǶ¼ÖªµÀhadoop£¬µ«²¢²»¶¼ÊÇhadoop.ÎÒÃǸÃÈçºÎ¹¹½¨´óÊý¾Ý¿âÏîÄ¿¡£¶ÔÓÚÀëÏß´¦Àí£¬hadoop»¹ÊDZȽÏÊʺϵ쬵«ÊǶÔÓÚʵʱÐԱȽÏÇ¿µÄ£¬Êý¾ÝÁ¿±È½Ï´óµÄ£¬ÎÒÃÇ¿ÉÒÔ²ÉÓÃStorm£¬ÄÇôStormºÍʲô¼¼Êõ´îÅ䣬²ÅÄܹ»×öÒ»¸öÊʺÏ×Ô¼ºµÄÏîÄ¿¡£ |
|
Ö±ÒÔÀ´¶¼Ïë½Ó´¥Stormʵʱ¼ÆËãÕâ¿éµÄ¶«Î÷£¬×î½üÔÚȺÀï¿´µ½ÉϺ£Ò»¸çÃÇÂÞ±¦Ð´µÄFlume+Kafka+StormµÄʵʱÈÕÖ¾Á÷ϵͳµÄ´î½¨Îĵµ£¬×Ô¼ºÒ²¸ú×ÅÕûÁËÒ»±é£¬Ö®Ç°ÂÞ±¦µÄÎÄÕÂÖÐÓÐһЩҪעÒâµãûÌáµ½µÄ£¬ÒÔºóһЩд´íµÄµã£¬ÔÚÕâ±ßÎÒ»á×öÐÞÕý£»ÄÚÈÝÓ¦¸Ã˵¾ø´ó²¿·ÖÒýÓÃÂÞ±¦µÄÎÄÕµģ¬ÕâÀïҪллÂÞ±¦Ðֵܣ¬»¹ÓÐдÕâÆªÎÄÕÂ@³¿É«ÐÇ¿ÕJ2EEÒ²¸øÁËÎҺܴó°ïÖú£¬ÕâÀïҲлл@³¿É«ÐÇ¿ÕJ2EE
֮ǰÔÚŪÕâ¸öµÄʱºò£¬¸úȺÀïµÄһЩÈËÌÖÂÛ¹ý£¬ÓеÄÈË˵£¬Ö±½ÓÓÃstorm²»¾Í¿ÉÒÔ×öʵʱ´¦ÀíÁË£¬Óò»×ÅÄÇôÂé·³£»Æäʵ²»È»£¬×öÈí¼þ¿ª·¢µÄ¶¼ÖªµÀÄ£¿é»¯Ë¼Ï룬ÕâÑùÉè¼ÆµÄÔÒòÓÐÁ½·½Ã棺
Ò»·½ÃæÊÇ¿ÉÒÔÄ£¿é»¯£¬¹¦ÄÜ»®·Ö¸ü¼ÓÇåÎú£¬´Ó¡°Êý¾Ý²É¼¯--Êý¾Ý½ÓÈë--Á÷ʧ¼ÆËã--Êý¾ÝÊä³ö/´æ´¢¡±

1£©.Êý¾Ý²É¼¯
¸ºÔð´Ó¸÷½ÚµãÉÏʵʱ²É¼¯Êý¾Ý£¬Ñ¡ÓÃclouderaµÄflumeÀ´ÊµÏÖ
2£©.Êý¾Ý½ÓÈë
ÓÉÓڲɼ¯Êý¾ÝµÄËٶȺÍÊý¾Ý´¦ÀíµÄËٶȲ»Ò»¶¨Í¬²½£¬Òò´ËÌí¼ÓÒ»¸öÏûÏ¢Öмä¼þÀ´×÷Ϊ»º³å£¬Ñ¡ÓÃapacheµÄkafka
3£©.Á÷ʽ¼ÆËã
¶Ô²É¼¯µ½µÄÊý¾Ý½øÐÐʵʱ·ÖÎö£¬Ñ¡ÓÃapacheµÄstorm
4£©.Êý¾ÝÊä³ö
¶Ô·ÖÎöºóµÄ½á¹û³Ö¾Ã»¯£¬Ôݶ¨ÓÃmysql
ÁíÒ»·½ÃæÊÇÄ£¿é»¯Ö®ºó£¬¼ÓÈëµ±Storm¹ÒµôÁËÖ®ºó£¬Êý¾Ý²É¼¯ºÍÊý¾Ý½ÓÈ뻹ÊǼÌÐøÔÚÅÜ×Å£¬Êý¾Ý²»»á¶ªÊ§£¬stormÆðÀ´Ö®ºó¿ÉÒÔ¼ÌÐø½øÐÐÁ÷ʽ¼ÆË㣻
ÄÇô½ÓÏÂÀ´ÎÒÃÇÀ´¿´ÏÂÕûÌåµÄ¼Ü¹¹Í¼

Ïêϸ½éÉܸ÷¸ö×é¼þ¼°°²×°ÅäÖãº
²Ù×÷ϵͳ£ºubuntu
Flume
FlumeÊÇClouderaÌṩµÄÒ»¸ö·Ö²¼Ê½¡¢¿É¿¿¡¢ºÍ¸ß¿ÉÓõĺ£Á¿ÈÕÖ¾²É¼¯¡¢¾ÛºÏºÍ´«ÊäµÄÈÕÖ¾ÊÕ¼¯ÏµÍ³£¬Ö§³ÖÔÚÈÕ־ϵͳÖж¨ÖƸ÷ÀàÊý¾Ý·¢ËÍ·½£¬ÓÃÓÚÊÕ¼¯Êý¾Ý;ͬʱ£¬FlumeÌṩ¶ÔÊý¾Ý½øÐмòµ¥´¦Àí£¬²¢Ð´µ½¸÷ÖÖÊý¾Ý½ÓÊÜ·½(¿É¶¨ÖÆ)µÄÄÜÁ¦¡£
ÏÂͼΪflumeµäÐ͵ÄÌåϵ½á¹¹£º
FlumeÊý¾ÝÔ´ÒÔ¼°Êä³ö·½Ê½:
FlumeÌṩÁË´Óconsole(¿ØÖÆÌ¨)¡¢RPC(Thrift-RPC)¡¢text(Îļþ)¡¢tail(UNIX
tail)¡¢syslog(syslogÈÕ־ϵͳ£¬Ö§³ÖTCPºÍUDPµÈ2ÖÖģʽ)£¬exec(ÃüÁîÖ´ÐÐ)µÈÊý¾ÝÔ´ÉÏÊÕ¼¯Êý¾ÝµÄÄÜÁ¦,ÔÚÎÒÃǵÄϵͳÖÐĿǰʹÓÃexec·½Ê½½øÐÐÈÕÖ¾²É¼¯¡£
FlumeµÄÊý¾Ý½ÓÊÜ·½£¬¿ÉÒÔÊÇconsole(¿ØÖÆÌ¨)¡¢text(Îļþ)¡¢dfs(HDFSÎļþ)¡¢RPC(Thrift-RPC)ºÍsyslogTCP(TCP
syslogÈÕ־ϵͳ)µÈ¡£ÔÚÎÒÃÇϵͳÖÐÓÉkafkaÀ´½ÓÊÕ¡£
FlumeÏÂÔØ¼°Îĵµ£º
http://flume.apache.org/
Flume°²×°£º
$tar zxvf apache-flume-1.4.0-bin.tar.gz/usr/local
|
FlumeÆô¶¯ÃüÁ
$bin/flume-ng
agent --conf conf --conf-file conf/flume-conf.properties
--name producer -Dflume.root.logger=INFO,console
|
Kafka
kafkaÊÇÒ»ÖÖ¸ßÍÌÍÂÁ¿µÄ·Ö²¼Ê½·¢²¼¶©ÔÄÏûϢϵͳ£¬ËýÓÐÈçÏÂÌØÐÔ£º
ͨ¹ýO(1)µÄ´ÅÅÌÊý¾Ý½á¹¹ÌṩÏûÏ¢µÄ³Ö¾Ã»¯£¬ÕâÖֽṹ¶ÔÓÚ¼´Ê¹ÊýÒÔTBµÄÏûÏ¢´æ´¢Ò²Äܹ»±£³Ö³¤Ê±¼äµÄÎȶ¨ÐÔÄÜ¡£
¸ßÍÌÍÂÁ¿£º¼´Ê¹ÊǷdz£ÆÕͨµÄÓ²¼þkafkaÒ²¿ÉÒÔÖ§³ÖÿÃëÊýÊ®ÍòµÄÏûÏ¢¡£
Ö§³Öͨ¹ýkafka·þÎñÆ÷ºÍÏû·Ñ»ú¼¯ÈºÀ´·ÖÇøÏûÏ¢¡£
Ö§³ÖHadoop²¢ÐÐÊý¾Ý¼ÓÔØ¡£
kafkaµÄÄ¿µÄÊÇÌṩһ¸ö·¢²¼¶©ÔĽâ¾ö·½°¸£¬Ëü¿ÉÒÔ´¦ÀíÏû·ÑÕß¹æÄ£µÄÍøÕ¾ÖеÄËùÓж¯×÷Á÷Êý¾Ý¡£ ÕâÖÖ¶¯×÷£¨ÍøÒ³ä¯ÀÀ£¬ËÑË÷ºÍÆäËûÓû§µÄÐж¯£©ÊÇÔÚÏÖ´úÍøÂçÉϵÄÐí¶àÉç»á¹¦ÄܵÄÒ»¸ö¹Ø¼üÒòËØ¡£
ÕâЩÊý¾Ýͨ³£ÊÇÓÉÓÚÍÌÍÂÁ¿µÄÒªÇó¶øÍ¨¹ý´¦ÀíÈÕÖ¾ºÍÈÕÖ¾¾ÛºÏÀ´½â¾ö¡£ ¶ÔÓÚÏñHadoopµÄÒ»ÑùµÄÈÕÖ¾Êý¾ÝºÍÀëÏß·ÖÎöϵͳ£¬µ«ÓÖÒªÇóʵʱ´¦ÀíµÄÏÞÖÆ£¬ÕâÊÇÒ»¸ö¿ÉÐеĽâ¾ö·½°¸¡£kafkaµÄÄ¿µÄÊÇͨ¹ýHadoopµÄ²¢ÐмÓÔØ»úÖÆÀ´Í³Ò»ÏßÉϺÍÀëÏßµÄÏûÏ¢´¦Àí£¬Ò²ÊÇΪÁËͨ¹ý¼¯Èº»úÀ´ÌṩʵʱµÄÏû·Ñ¡£
kafka·Ö²¼Ê½¶©Ôļܹ¹ÈçÏÂͼ£º--È¡×ÔKafka¹ÙÍø

ÂÞ±¦ÐÖµÜÎÄÕÂÉϵļܹ¹Í¼ÊÇÕâÑùµÄ

ÆäʵÁ½ÕßûÓÐÌ«´óÇø±ð£¬¹ÙÍøµÄ¼Ü¹¹Í¼Ö»ÊǰÑKafka¼ò½àµÄ±íʾ³ÉÒ»¸öKafka Cluster£¬¶øÂÞ±¦Ðֵܵļܹ¹Í¼¾ÍÏà¶ÔÏêϸһЩ£»
Kafka°æ±¾£º0.8.0
KafkaÏÂÔØ¼°Îĵµ£ºhttp://kafka.apache.org/
Kafka°²×°£º
> tar xzf
kafka-<VERSION>.tgz
> cd kafka-<VERSION>
> ./sbt update
> ./sbt package
> ./sbt assembly-package-dependency |
Æô¶¯¼°²âÊÔÃüÁ
£¨1£© start server
> bin/zookeeper-server-start.shconfig/zookeeper.properties
> bin/kafka-server-start.shconfig/server.properties
|
ÕâÀïÊǹÙÍøÉϵĽ̳̣¬kafka±¾ÉíÓÐÄÚÖÃzookeeper£¬µ«ÊÇÎÒ×Ô¼ºÔÚʵ¼Ê²¿ÊðÖÐÊÇʹÓõ¥¶ÀµÄzookeeper¼¯Èº£¬ËùÒÔµÚÒ»ÐÐÃüÁîÎÒ¾ÍûִÐУ¬ÕâÀïÖ»ÊÇЩ³öÀ´¸ø´ó¼Ò¿´Ï¡£
ÅäÖöÀÁ¢µÄzookeeper¼¯ÈºÐèÒªÅäÖÃserver.propertiesÎļþ£¬½²zookeeper.connectÐÞ¸ÄΪ¶ÀÁ¢¼¯ÈºµÄIPºÍ¶Ë¿Ú
zookeeper.connect=nutch1:2181
|
£¨2£©Create a topic
> bin/kafka-create-topic.sh
--zookeeper localhost:2181 --replica 1 --partition
1 --topic test
> bin/kafka-list-topic.sh --zookeeperlocalhost:2181
|
£¨3£©Send some messages
> bin/kafka-console-producer.sh--broker-list
localhost:9092 --topic test |
£¨4£©Start a consumer
> bin/kafka-console-consumer.sh--zookeeper
localhost:2181 --topic test --from-beginning |
kafka-console-producer.sh ºÍ kafka-console-cousumer.shÖ»ÊÇϵͳÌṩµÄÃüÁîÐй¤¾ß¡£ÕâÀïÆô¶¯ÊÇΪÁ˲âÊÔÊÇ·ñÄÜÕý³£Éú²úÏû·Ñ£»ÑéÖ¤Á÷³ÌÕýÈ·ÐÔ
ÔÚʵ¼Ê¿ª·¢Öл¹ÊÇÒª×ÔÐпª·¢×Ô¼ºµÄÉú²úÕßÓëÏû·ÑÕߣ»
kafkaµÄ°²×°Ò²¿ÉÒԲο¼ÎÒ֮ǰдµÄÎÄÕ£ºhttp://blog.csdn.net/
weijonathan/ article/details /18075967
Storm
Twitter½«StormÕýʽ¿ªÔ´ÁË£¬ÕâÊÇÒ»¸ö·Ö²¼Ê½µÄ¡¢ÈÝ´íµÄʵʱ¼ÆËãϵͳ£¬Ëü±»ÍйÜÔÚGitHubÉÏ£¬×ñÑ
Eclipse Public License 1.0¡£StormÊÇÓÉBackType¿ª·¢µÄʵʱ´¦Àíϵͳ£¬BackTypeÏÖÔÚÒÑÔÚTwitter÷âÏ¡£GitHubÉϵÄ×îа汾ÊÇStorm
0.5.2£¬»ù±¾ÊÇÓÃClojureдµÄ¡£

StormµÄÖ÷ÒªÌØµãÈçÏ£º
¼òµ¥µÄ±à³ÌÄ£ÐÍ¡£ÀàËÆÓÚMapReduce½µµÍÁ˲¢ÐÐÅú´¦Àí¸´ÔÓÐÔ£¬Storm½µµÍÁ˽øÐÐʵʱ´¦ÀíµÄ¸´ÔÓÐÔ¡£
¿ÉÒÔʹÓø÷ÖÖ±à³ÌÓïÑÔ¡£Äã¿ÉÒÔÔÚStormÖ®ÉÏʹÓø÷ÖÖ±à³ÌÓïÑÔ¡£Ä¬ÈÏÖ§³ÖClojure¡¢Java¡¢RubyºÍPython¡£ÒªÔö¼Ó¶ÔÆäËûÓïÑÔµÄÖ§³Ö£¬Ö»ÐèʵÏÖÒ»¸ö¼òµ¥µÄStormͨÐÅÐÒé¼´¿É¡£
ÈÝ´íÐÔ¡£Storm»á¹ÜÀí¹¤×÷½ø³ÌºÍ½ÚµãµÄ¹ÊÕÏ¡£
ˮƽÀ©Õ¹¡£¼ÆËãÊÇÔÚ¶à¸öÏ̡߳¢½ø³ÌºÍ·þÎñÆ÷Ö®¼ä²¢ÐнøÐеġ£
¿É¿¿µÄÏûÏ¢´¦Àí¡£Storm±£Ö¤Ã¿¸öÏûÏ¢ÖÁÉÙÄܵõ½Ò»´ÎÍêÕû´¦Àí¡£ÈÎÎñʧ°Üʱ£¬Ëü»á¸ºÔð´ÓÏûÏ¢Ô´ÖØÊÔÏûÏ¢¡£
¿ìËÙ¡£ÏµÍ³µÄÉè¼Æ±£Ö¤ÁËÏûÏ¢Äܵõ½¿ìËٵĴ¦Àí£¬Ê¹ÓÃ?MQ×÷ΪÆäµ×²ãÏûÏ¢¶ÓÁС££¨0.9.0.1°æ±¾Ö§³Ö?MQºÍnettyÁ½ÖÖģʽ£©
±¾µØÄ£Ê½¡£StormÓÐÒ»¸ö¡°±¾µØÄ£Ê½¡±£¬¿ÉÒÔÔÚ´¦Àí¹ý³ÌÖÐÍêȫģÄâStorm¼¯Èº¡£ÕâÈÃÄã¿ÉÒÔ¿ìËÙ½øÐпª·¢ºÍµ¥Ôª²âÊÔ¡£
ÓÉÓÚÆª·ùÎÊÌ⣬¾ßÌåµÄ°²×°²½Öè¿ÉÒԲο¼ÎÒ֮ǰдµÄÎÄÕ£ºhttp://blog.csdn.net
/weijonathan/article/ details/17762477
½ÓÏÂÀ´ÖØÍ·Ï·¿ªÊ¼À£¡ÄǾÍÊÇ¿ò¼ÜÖ®¼äµÄÕûºÏÀ²
flumeºÍkafkaÕûºÏ
1.ÏÂÔØflume-kafka-plus:https://github.com/
beyondj2ee/ flumeng-kafka-plugin
2.ÌáÈ¡²å¼þÖеÄflume-conf.propertiesÎļþ
Ð޸ĸÃÎļþ£º#source section
producer.sources.s.type = exec
producer.sources.s.command =
-f -n+1 / mnt/hgfs/ vmshare/test.log
producer.sources.s.channels = c
ÐÞ¸ÄËùÓÐtopicµÄÖµ¸ÄΪtest
½«¸ÄºóµÄÅäÖÃÎļþ·Å½øflume/confĿ¼ÏÂ
ÔÚ¸ÃÏîÄ¿ÖÐÌáÈ¡ÒÔÏÂjar°ü·ÅÈë»·¾³ÖÐflumeµÄlibÏ£º

×¢£ºÕâÀïµÄflumeng-kafka-plugin.jarÕâ¸ö°ü£¬ºóÃæÔÚgithubÏîÄ¿ÖÐÒÑ¾ÒÆ¶¯µ½packageĿ¼ÁË¡£ÕÒ²»µ½µÄͯЬ¿ÉÒÔµ½packageĿ¼»ñÈ¡¡£
Íê³ÉÉÏÃæµÄ²½ÖèÖ®ºó£¬ÎÒÃÇÀ´²âÊÔÏÂflume+kafkaÕâ¸öÁ÷³ÌÓÐûÓÐ×ßͨ£»
ÎÒÃÇÏÈÆô¶¯flume£¬È»ºóÔÙÆô¶¯kafka£¬Æô¶¯²½Ö谴֮ǰµÄ²½ÖèÖ´ÐУ»½ÓÏÂÀ´ÎÒÃÇʹÓÃkafkaµÄkafka-console-consumer.sh½Å±¾²é¿´ÊÇ·ñÓÐflumeÓÐûÓÐÍùKafka´«ÊäÊý¾Ý£»

ÒÔÉÏÕâ¸öÊÇÎÒµÄtest.logÎļþͨ¹ýflumeץȡ´«µ½kafkaµÄÊý¾Ý£»ËµÃ÷ÎÒÃǵÄflumeºÍkafkaÁ÷³Ì×ßͨÁË£»
´ó¼Ò»¹¼ÇµÃ¸Õ¿ªÊ¼ÎÒÃǵÄÁ÷³Ìͼô£¬ÆäÖÐÓÐÒ»²½ÊÇͨ¹ýflumeµ½kafka£¬»¹ÓÐÒ»²½Êǵ½hdfsµÄ£»¶øÎÒÃÇÕâ±ß»¹Ã»ÓÐÌáµ½ÈçºÎ´æÈëkafkaÇÒͬʱ´æÈçhdfs£»
flumeÊÇÖ§³ÖÊý¾Ýͬ²½¸´ÖÆ£¬Í¬²½¸´ÖÆÁ÷³ÌͼÈçÏ£¬È¡×ÔÓÚflume¹ÙÍø£¬¹ÙÍøÓû§Ö¸ÄϵØÖ·£ºhttp://flume.apache.org/FlumeUserGuide.html

ÔõôÉèÖÃͬ²½¸´ÖÆÄØ£¬¿´ÏÂÃæµÄÅäÖãº
#2¸öchannelºÍ2¸ösinkµÄÅäÖÃÎļþ
ÕâÀïÎÒÃÇ¿ÉÒÔÉèÖÃÁ½¸ösink£¬Ò»¸öÊÇkafkaµÄ£¬Ò»¸öÊÇhdfsµÄ£»
a1.sources = r1
a1.sinks = k1 k2
a1.channels = c1 c2 |
¾ßÌåÅäÖôó»ï¸ù¾Ý×Ô¼ºµÄÐèÇóÈ¥ÉèÖã¬ÕâÀï¾Í²»¾ßÌå¾ÙÀýÁË
kafkaºÍstormµÄÕûºÏ
1.ÏÂÔØkafka-storm0.8²å¼þ£ºhttps://github.com/wurstmeister/storm-kafka-0.8-plus
2.ʹÓÃmaven package½øÐбàÒ룬µÃµ½storm-kafka-0.8-plus-0.3.0-SNAPSHOT.jar°ü
--ÓÐ×ªÔØµÄͯЬעÒâÏ£¬ÕâÀïµÄ°üÃû֮ǰд´íÁË£¬ÏÖÔÚ¸ÄÕýÈ·ÁË£¡²»ºÃÒâ˼£¡
3.½«¸Ãjar°ü¼°kafka_2.9.2-0.8.0-beta1.jar¡¢metrics-core-2.2.0.jar¡¢scala-library-2.9.2.jar
(ÕâÈý¸öjar°üÔÚkafkaÏîÄ¿ÖÐÄÜÕÒµ½)
±¸×¢£ºÈç¹û¿ª·¢µÄÏîÄ¿ÐèÒªÆäËûjar£¬¼ÇµÃÒ²Òª·Å½østormµÄLibÖбÈÈçÓõ½ÁËmysql¾ÍÒªÌí¼Ómysql-connector-java-5.1.22-bin.jarµ½stormµÄlibÏÂ
ÄÇô½ÓÏÂÀ´ÎÒÃǰÑstormÒ²ÖØÆôÏ£»
Íê³ÉÒÔÉϲ½ÖèÖ®ºó£¬ÎÒÃÇ»¹ÓÐÒ»¼þÊÂÇéÒª×ö£¬¾ÍÊÇʹÓÃkafka-storm0.8²å¼þ£¬Ð´Ò»¸ö×Ô¼ºµÄStorm³ÌÐò£»
ÕâÀïÎÒ¸ø´ó»ï¸½ÉÏÒ»¸öÎÒŪµÄstorm³ÌÐò£¬°Ù¶ÈÍøÅÌ·ÖÏíµØÖ·£ºhttp://pan.baidu.com/s/1mgp0LLY
ÏÈÉÔ΢¿´Ï³ÌÐòµÄ´´½¨Topology´úÂë

Êý¾Ý²Ù×÷Ö÷ÒªÔÚWordCounterÀàÖУ¬ÕâÀïÖ»ÊÇʹÓüòµ¥JDBC½øÐвåÈë´¦Àí

ÕâÀïÖ»ÐèÒªÊäÈëÒ»¸ö²ÎÊý×÷ΪTopologyÃû³Æ¾Í¿ÉÒÔÁË£¡ÎÒÃÇÕâÀïʹÓñ¾µØÄ£Ê½£¬ËùÒÔ²»ÊäÈë²ÎÊý£¬Ö±½Ó¿´Á÷³ÌÊÇ·ñ×ßͨ£»
storm-0.9.0.1/bin/storm
jar storm-start-demo-0.0.1-SNAPSHOT.jar com.storm.topology.MyTopology
|
ÏÈ¿´ÏÂÈÕÖ¾£¬ÕâÀï´òÓ¡³öÀ´ÁËÍùÊý¾Ý¿âÀïÃæ²åÈëÊý¾ÝÁË

È»ºóÎÒÃDz鿴ÏÂÊý¾Ý¿â£»²åÈë³É¹¦ÁË£¡

µ½ÕâÀïÎÒÃǵÄÕû¸öÕûºÏ¾ÍÍê³ÉÁË£¡
µ«ÊÇÕâÀﻹÓÐÒ»¸öÎÊÌ⣬²»ÖªµÀ´ó»ïÓÐûÓз¢ÏÖ¡£Õâ¸öÒ²ÊÇ@³¿É«ÐÇ¿ÕJ2EE¸úÎÒ˵µÄ£¬ÆäʵÎÒÒ²Ó¦¸ÃÏëµ½µÄ£»
ÓÉÓÚÎÒÃÇʹÓÃstorm½øÐзֲ¼Ê½Á÷ʽ¼ÆË㣬ÄÇô·Ö²¼Ê½×îÐèҪעÒâµÄÊÇÊý¾ÝÒ»ÖÂÐÔÒÔ¼°±ÜÃâÔàÊý¾ÝµÄ²úÉú£»ËùÒÔÎÒÌṩµÄ²âÊÔÏîĿֻÄÜÓÃÓÚ²âÊÔ£¬Õýʽ¿ª·¢²»ÄÜÕâÑù´¦Àí£»
@³¿É«ÐÇ¿ÕJ2EE¸øµÄ½¨ÒéÊǽ¨Á¢Ò»¸özookeeperµÄ·Ö²¼Ê½È«¾ÖËø£¬±£Ö¤Êý¾ÝÒ»ÖÂÐÔ£¬±ÜÃâÔàÊý¾Ý¼È룡
zookeeper¿Í»§¶Ë¿ò¼Ü´ó»ï¿ÉÒÔʹÓÃNetflix CuratorÀ´Íê³É£¬ÓÉÓÚÕâ¿éÎÒ»¹Ã»È¥¿´£¬ËùÒÔÖ»ÄÜдµ½ÕâÀïÁË£¡ |