个人认为微服务架构的核心问题还是在如何对软件进行适当的组件化,因此如何更合适地组织微服务的逻辑边界,或者说微服务的拆分原则是最应当关注的。总的来说,微服务拆分需要尽量从业务视角、服务自给自足、非强事务性、效率等方面考虑。这是设计层次的问题,直接关系到应用的灵活升级能力、快速迭代能力、弹性的效果等,应该被赋予最高的重视。
Spring Cloud等微服务框架只是实现和运行过程中的辅助工具框架,虽然它为微服务的开发和运行带来了便利,但它不是关键和不可替代的。要说基本的组件,用的最普遍的是服务注册发现Eureka,Ribbon负载均衡、Hystrix熔断器、Config配置中心、Sleuth链路追踪、Bus消息和事件总线等。
另外,微服务因为数量的增多,对运维带来了更大的复杂度,因此需要认真考虑监控的能力,不允许没有监控的微服务上线。
收起