告别三层架构,微服务作为SOA架构下的产物,大行天下。
服务之道
1.遵从协议:协议大于配置,永远记住,对于微服务而言,失去了协议,微服务就无从谈起。
2.服务粒度:尽可能的最小化,提供原子服务,单一职责,独立化运行。这样可以减少服务之间的依赖。
3.弹性化设计:主要体现在两个方面。
一 提供容错处理,对依赖服务出现宕机等极端场景下也能独善其身。
二 需要有自我保护的能力,在高峰期采用服务降级等措施来保证系统运行的高可用。
基于性能
不论任何服务,考虑性能无外乎两种:
1.降低i/o 消耗
2.优化通信速度
微服务性能
微服务可以做以下方面来使自己的微服务进行性能优化:
1.控制报文大小(不要超过4mb)。以千兆网速,100kb的报文进行通信,10万tps性能也是可能的(理想态)。
2.通信机制:比如dubbo的通信机制采用的netty通信。
3.序列化操作:目前的kryo,protostuff等的性能都不错。可根据需要选择 。有一点,要想序列化更优,schema映射方式应为首选,这样会减少反射带来的性能消耗。
结语
传统的、更加孤立的应用程序仍适合一些实现。但是,微服务提供了一种构建某些类型的应用程序的替代方法,提供了传统应用程序无法提供的敏捷性、可伸缩性和恢复能力。微服务应用程序在互动层最常见,这一层最需要它们的具体特征,支持创建新的特定于渠道的功能和面对互联网的 API。
标签:spring 分布式 微服务 业务分层