我们来认识一下微服务架构在Java体系中依托哪些组件实现的。
相对于单体架构的简单粗暴,微服务的核心是将应用打散,形成多个独立提供的微服务,虽然从管理与逻辑上更符合业务需要。但微服务架构也带来了很多急需解决的核心问题:
1、如何发现新节点以及检查各节点的运行状态?
2、如何发现服务及负载均衡如何实现?
3、服务间如何进行消息通信?
4、如何对使用者暴露服务API?
5、如何集中管理各节点配置文件?
6、如何收集各节点日志并统一管理?
7、如何直观的了解各节点间的调用链路?
8、如何对系统进行链路保护,避免服务雪崩?
可以发现,以上的各个问题,不是针对某种语言或某种技术的,任何要构建微服务架构的企业都需要面对这些问题,要么公司内部逐个研究各个问题的解决办法,要么就将已有的多种技术整合形成整体解决方案。好在经过互联网行业的多年发展,业内对于上述问题基本都有了标准的解决方案,下图清晰的说明了微服务架构需要的标准组件。