跳到主要内容

微服务

远程方法调用需要考虑的问题

  • 服务发现:远程服务在哪里
  • 负载均衡:有多少个远程服务
  • 熔断、隔离、降级:网络出现分区、超时或者服务出错
  • 序列化协议:方法的参数与返回结果如何表示
  • 传输协议:信息如何传输
  • 认证、授权:服务权限如何管理
  • 网络安全层:如何保证通信安全
  • 分布式数据一致性:如何令调用不同机器的服务返回相同的结果

微服务架构设计模式

  1. 微服务不是解决所有问题的万能“银弹”
  2. 编写整洁的代码和使用自动化测试至关重要
  3. 微服务的本质是服务的分解和定义,而不是技术,如容器和其他工具
  4. 确保你的服务松耦合,并且可以独立开发、测试和部署。不要做成分布式单体
  5. 拥抱 DevOps 的原则和实践。

实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。

microservices.io