最近加入到新项目里,使用spring cloud 组件进行开发,于是自己查了查,尼玛,22+ 个spring组件,跟完全学习一个新的语言一样了,压力有点大。。。
因为加入到项目中的时候,项目已经进行了1个多月了, 所以客户对于新加入的人期望很大,导致最近一段时间学习的压力也很大, cloud 做为将来的发展趋势, spring cloud这个企业级的框架也会不断成为主流,很多企业的首选,组件化开发,微服务,互相依赖小(解耦),易于拓展,发布。。。 有想看的自己去找找文字说明,不先吹牛逼了。 好不好用毕竟都放在那了。
好多人说Dubbo不是很好嘛, 其实dubbo目前我对他的理解,也充当了一个注册中心的角色,当然我自己没有在项目中使用过,他的代码我也只看到启动和注册那一块,其他的因为项目原因就没有深入去看。其实dubbo主要出名的原因是出自阿里,而且也经历过阿里复杂和高并发的考验。正因为如此,成为很多公司的首选,甚至是以他作为基础进行二次开发。
好了不偏离主题,我写这个帖子的主要是目的是,在网上找个能跑能用的代码太难了,讲原理的帖子太多,但是代码层面很多都是简单几句话完事,都成了随笔,对于那种已经上手的人来说,已经很清楚明了,但是对于刚刚入门的人来说,太tm苦逼了,宝宝心里苦,宝宝还说出来哪里苦,甚至遇到问题都不知道该怎么去问问题(亲身经历),我尝试了加了好多群,当然大神都在忙,那种半桶水的逗比会告诉你,看看log就明白了,我只是个小白,我能看懂个jb啊。
下面开整,
我用的windows 系统,centos / Linux / Ubutu 不知道了,自己研究吧。
主要使用的工具如下:
- STS ->可以自己去官网下载或者使用我提供的
- zookeeper -> 稍后我会一起放上来
- Kafka -> 同上
代码分文两个部分producer(source) / consumer(sink) ,括号里的是spring cloud stream中的叫法
- SpringCloudStream -> consumer(sink)
- SpringCloudStreamOut1 -> producer(source)
Note: 代码是从其他地方download下来的,但是跑通的话需要额外几个步骤,所以废了一个下午的时间才弄明白,仍然要感谢代码的提供者Alan
本文主要目的是提供例子让你轻松跑起来看效果,所以对于理论的知识不做介绍,不懂的自己单独百度,网上的帖子很丰富,而且都比我讲的好,我也就不做copy paste了。
开干:》
当你习惯当服务器系统开发的以后,调试微服务的系统就会觉得非常麻烦,甚至不知道从哪里开始。。。 真是tm扎心。。
kafka 和 zookeeper port和路径配置
Kafka:
C:\kafka_2.12-0.10.2.1\config
zookeeper.properties
修改 dataDir=C:\\Nuke's Material\\tools\\zookeeper-3.5.0-alpha\\data ->你的Zookeeper的data文件夹
server.properties
修改 zookeeper.connect=localhost:2181 ->如果使用我的代码,不需要改了
Zookeeper
直接解压就可以,不需要改动
启动Zookeeper
- cmd
- cd zookeeper/bin
- zkServer.cmd
启动 kafka
- cmd
- cd kafka/bin/windows
- C:\kafka_2.12-0.10.2.1\bin\windows>.\kafka-server-start.bat ..\..\config\server.properties
导入项目测试代码
这里有个需要注意的地方,用sts 分别启动两个工程项目,不通同时导入,因为文件名字都一样,你同时导入也会报错
当导入以后,你先用maven build 两个工程,然后,直接run as -> spring boot app 就可以了
这个应该都知道了。。。, 你要是比我还新的人,你qq我吧。 我也不想写那么多废话了。
因为端口跟我一样,当都启动成功,你可以再浏览器输入这样的url
http://localhost:8800/send/OK了终于搞定了
在另外一个启动工程的console里就会打印出这句话了:)
基本到这一步,我们就OK了。
工程代码你可以从我的百度云下载:
http://pan.baidu.com/s/1eSMiRf0
STS太大了, 如果有需要的话可以自己去百度上找或者官网下载。 如果再搭建过程中遇到莫名其秒的问题,也可以联系我一起研究研究。
我的QQ 30306506,可以称呼我Nuke. 喜欢这个名字哈哈。