微服务+zookeeper+log=轻量级SoA
在分布式Java框架中,dubbo算是比较成熟的了,但是好像现在不开发了。
dubbo仅仅支持Java开发,这对异构系统支持不是很理想。可能和ali的技术路线相关。
最近看了一下微服务的概念,想了一下,如下的架构,实现起来是否可以满足轻量级SoA结构:
微服务+zookeeper+log=轻量级SoA
微服务:提供RESTful API + JSON,虽然性能比RPC差了点,但是强在跨平台,支持性好,易于维护。
zookeeper:提供注册,依赖管理,安全认证,高可用,负载均衡,配置中心等功能。
注册:注册微服务的ID和IP,并且需要进行认证,避免恶意服务注册,并且颁发临时访问密钥。
依赖管理:微服务在调用其他微服务接口的时候,需要知道被调用微服务的地址以及临时密钥,此时可以知道微服务之间的依赖,在重构的时候,提供有效的信息。
安全认证:HTTPS,微服务访问临时密钥,被访问者需要认证访问者的ID。
高可用:在微服务宕机后,能从zookeeper中重新获取新的微服务地址。
负载均衡:能动态扩容,和动态分配访问流量。
log:日志中心,提供接口访问的次数提供每天的热点API,异常日志报告等。
如果再加上docker+集群部署套件(Kubernetes),是否可以降低运维难度。
不知道这样子的架构是否合理?还有什么不足的地方?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
等下班回去试试看。(,,•́ . •̀,,)
Zbus支持负载均衡吗?
回复
国内的玩意 烂
回复
我是zbus作者,欢迎就具体问题吐槽
回复
支持
尝试下zbus,http://git.oschina.net/rushmore/zbus
吐槽下看看哪些不满足呗
dubbo 主要是因为每次都要采用JAR来发布接口,不是非常的灵活。dubbox 之间的调用基本上也是通过JAR接口来完成。感觉对于做小型企开发(Spring MVC)的人员不够友好。
跨平台可以考虑下dubbox