微服务所面临的挑战
1.容易出现需要协调大量应用发布的情况。服务之前有较多依赖,但是有不能避免,除非减少微服务。
2.数据一致性问题。分布式事物增加复杂度。
3.性能挑战。应用程序中的一些页面需要调用六个服务来呈现,加载时间很长。
4.分布式跟踪。出现问题即使他们找到了,也很难再现它们,因为在工程师的机器上让多个服务进入同样的状态会是一项巨大的挑战。你默默地记了下来,你需要从整体上做个规划,以便提供更好的系统级可跟踪性,这样,你就可以看到请求在整个系统中的流转过程。
5.重复
现在,设计和构建某些比较大的特性需要花费更长的时间了。它们需要多个不同的服务来实现不同的功能,并在不同的数据存储中协调更改。你会发现,自己在不同的服务中复制了某些业务操作的逻辑,尽管你已经尽了最大的努力来保证每个服务在逻辑上是独立的,但是,你没法完全做到这一点。