百度收录网站有什么好处,iis7.5搭建网站,带seo服务的网站定制,在PC上安装WordPress我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版#xff0c;欢迎购买。点击进入详情 构建和管理微服务是一项艰巨的任务。这是因为微服务就像多个并行的整体应用程序#xff0c;它们都必须处于同步通信和并发运行时间。因此#xff0c;在设计和构建…我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版欢迎购买。点击进入详情 构建和管理微服务是一项艰巨的任务。这是因为微服务就像多个并行的整体应用程序它们都必须处于同步通信和并发运行时间。因此在设计和构建它们时考虑并应用最佳实践非常重要。以下是此类做法的列表但并不详尽
不要构建微服务。
认真地说构建微服务只能被视为最后的选择。务实一点。首先尝试构建一个模块化整体。微服务应该放在最后。
2. 针对失败进行设计。
任何使用微服务的分布式系统总是有失败的可能。设计得越早越好。故障设计必须满足每个级别——基础设施级别、数据库级别和单个微服务。应使用断路器、优雅的降级方法和舱壁。
3. 构建小型服务。
微服务应该非常具体并且应该在这一点上表现出色。将微服务构建为一把瑞士刀会导致灾难。
4. 使用轻量级通信协议。
微服务之间的通信至关重要。应使用 REST、GRPC 或消息队列等协议。应尽可能减少通信开销并提高性能。
5. 实施服务发现。
为了有效通信微服务需要能够相互识别因此应该从一开始就实现服务发现。可以使用Eureka或者Consul等工具。
6.数据管理应该是分布式的。
数据应归各个服务所有。任何数据都应该由所有者服务管理。最终目标应该是减少服务之间的耦合使它们能够独立发展。
7. 实施弹性模式。
为了提高系统可用性应实施弹性模式。鼓励使用重试策略、缓存和速率限制。
8. 主动监控服务。
在任何分布式系统中会宕机的服务最终都会宕机。为了跟上服务的步伐需要及时识别问题并收集和分析指标。Prometheus 和 Grafana 等工具有助于监控整个系统并尽早发现潜在问题。
9. 各级都应配备安全性。
微服务具有很大的攻击面因此尽可能最小的单元内的安全性非常重要。安全性必须从基础设施层到服务层再到通信层来实现。应使用最新安全协议和工具的适当权限。
10.集中记录。
在了解系统发生的情况时日志非常重要。但是为了确保日志有意义来自所有服务的日志必须聚合在一个集中位置以便于分析。使用 ELK 等工具构建强大的日志记录设置。
11. 使用容器化技术。
为了以隔离的方式部署微服务应使用容器化和编排工具例如 Docker 和 Kubernetes。它们旨在简化服务的部署和扩展要求。还应该分配充足的时间来管理这些资源。
12. 使用自动化测试和部署。
微服务应该经过彻底的测试以确保可靠性。应使用自动化测试用例作为 CI/CD 流程的一部分来确保无缝体验。