此尝试是用的dubbo,以后再尝试用dubbo-starter 。
1.建两个spring boot (选择web组件即可):
image.png
2.建XML(个人建议这种一劳永逸的配置,用xml比较好。当然你也可以用@Configuration + @Bean配置。我认为xml看起来比较直观,代码少,成功案例多。):
生产者项目:
image.png
消费者项目:
image.png
3.生产项目和消费项目,都将xml加载进配置:
image.png
通过以上3步,正式搭建起了一个简易的dubbo了。可以RPC了。
注意事项1:
生产项目与消费项目的接口包名+接口名要完全一样。不然报错。
image.png
最后介绍个实用工具:
image.png
可以用来观察zookeeper的节点。
另外,dubbo也有监控中心,可以监控整个dubbo的使用情况。
项目先启动zookeeper,再启动生产者项目,最后启动消费者项目。
项目地址:https://github.com/acehjr/tryDubbo.git
后话:在面向to B(to C产品用户量不到8位数,可能就赚不到什么钱,会被砍掉了)的软件,大多数用springboot(或者spring mvc)就够了,如果考虑可用性,加个nginx,多一台负债均衡机器,基本可以满足绝大多数公司的to B产品(用户数大概小5位数)。
如果考虑用户量会超过大6位数,机器打算搞个五六台,那引入dubbo等RPC才是有意义的。引入了dubbo,系统结构就从原来的 浏览器--nginx--spring boot 变成 浏览器--nginx--N个gateway(dubbo消费端)--N个dubbo生产端。
一般不要盲目地引入分布式架构,to B产品,优化好数据库,设计下缓存,nginx拖3台性能中上的服务器,应付个小6位数用户是没问题的。
网友评论