2018第49周日

Service Mesh 并非完美解决方案,这种不完美主要是体现在Service Mesh本质上是一种抽象,它把原来的服务调用中的一些高可用的能力全部抽象道理基础实施层。不管是什么东西,抽象就意味着细节的丢失,丢失了细节,就意味着在能力上会有所欠缺。所以在Service Mesh的方案下,虽然看起来我们可以将能力下沉的基础实施层,但一旦沉下去,某些方面的能力就会受损。因此在实施Service Mesh化之后,要想办法弥补它能力的缺失,比如蚂蚁金服SOFAMesh实施时通过一些轻量化的客户端去实现序列化、链路追踪等。

Max Kanat-Alexander 在《简约之美:软件设计之道》(Code Simplicity)中提出的软件设计的 6 条法则恰到好处的描述了这一矛盾的事实,具体内容如下:

  1. 软件的目的是帮助他人;

  2. 相比降低开发成本,更重要的是降低维护成本;

  3. 变化定律:软件存在的时间越久,它的某部分需要变化的可能性越大;

  4. 缺陷定律:软件出现缺陷的可能性,正比于你对它所做修改的程度;

  5. 简洁定律:软件任一部分的维护难度,正比于该部分的复杂程度;

  6. 测试定律:你对软件行为的了解程度,等于你真正测试它的程度。

微服务架构的系统要特别关注这几个方面:

  • 服务间的依赖、连通性
  • 服务的容错、可用性
  • 数据的最终一致性
  • 独立部署
  • 不确定性

物联网是一个由三个不同的子系统组成的系统:

·      云

·      聚合器

·      智能传感器

上述每一个子系统对于整个物联网系统的功能优化都是必需的。云是终极的计算单元和通用通信网络。智能传感器是通向现实世界的界面。最后,这些聚合者是中间人。对云来说,聚合器看起来像智能传感器,而对智能传感器而言,它看起来像云。

猜你喜欢

转载自www.cnblogs.com/doit8791/p/10090616.html