热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

微服务架构设计的最佳实践

一个松散耦合,分布式以及独立的微服务系统。如下坚守如下原则:1.单一责任原则2.独立的数据存储3.使用异步通信实现松散耦合4.使用熔断器快速实现

一个松散耦合,分布式以及独立的微服务系统。

如下坚守如下原则:

 

1. 单一责任原则

2. 独立的数据存储

3. 使用异步通信实现松散耦合

4. 使用熔断器快速实现故障容错

5. 通过API网关代理微服务请求

6. 确保API变更向后兼容

7. 版本化微服务重大变更

不可能让变更总是保持向后兼容。当你做了一个重大的变更的时候,同时需要继续支持老的接口,这时候可以暴露一个新版本的接口。消费者可以在方便的时候选择新的版本。但是有太多版本的API对于维护相应的代码人来说会是一场噩梦。因此,有一种规范的方法是通过和客户端一起协作或在内部将流量重新路由到较新的版本,从而弃用较旧的版本。

8. 使用专用基础设施托管微服务

9. 创建独立的发布通道

10. 建立组织效率

尽管微服务给你提供了独立开发和发布的自由,但是对于跨领域关注(cross cutting concerns)来说,某些标准还是需要遵循的,这样才不会让每个团队都花费时间为这些问题创建独特的解决方案。这在诸如微服务分布式架构中是非常重要的,在这种架构中,你需要能够连接难题(puzzle)中的所有部分才能看清全局。因此,对于API安全,日志聚合,监控,API文档,秘钥管理,配置管理,分布式追踪等,企业级解决方案是必须要有的。


推荐阅读
  • 摘要:本文中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务在读者正在工作的 ... [详细]
  • 阿里p8用端午节3天假期整理出了Spring Cloud知识点大全,太全了
     前言:今天一觉起来,发现我们开工的日期又延迟了,虽然已经在家办公一个多礼拜了,但是由于家里的环境还是不能有很高的效率。于是干脆就对SpringCloud的一些知识点做了一些整理。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)【下载本文PDF进行阅读】设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践。在经过多年的软件开发实践之后,回过头 ... [详细]
  • IT管理类培训,你想了解的全都在这里
    IT类的培训,主要分为技术类和管理类。不断有小伙伴问起各种培训的价值,内容和对自己职业发展的帮助,希望这篇帖子可以给大家一些启发。首先用 ... [详细]
  •  12.1微服务的原则 我们在第2章讨论过,微服务原则可以发挥什么样的作用。它们 ... [详细]
  • DDD在微服务架构中落地应用
    1DDDDomainDrivenDesign(领域驱动设计,DDD),不是一种架构,而是一种架构方法论,是一种拆解业务、划分业务、确定业 ... [详细]
  • 4月,InfoQ发布了软件架构与设计的趋势报告。在报告中可以看出,微服务、领域驱动设计等已经非常流行,并成为目前软件开发行业的主流趋势。大 ... [详细]
  • 为什么80%的码农都做不了架构师?#0系列目录#聊聊远程通信Java远程通讯技术及原理分析聊聊Socket、TCPIP、HTTP、FTP及网 ... [详细]
  • 微服务应用性能如何?APM监控工具来告诉你
    当微服务系统越来越庞大,各个服务间的调用关系也变得越来越复杂,需要一个工具来帮忙理清请求调用的服务链路。之前使用的是Sleuth+Zipkin的解决方案,最近发现应 ... [详细]
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • 博客_2018年博客总结
    本文由编程笔记#小编为大家整理,主要介绍了2018年博客总结相关的知识,希望对你有一定的参考价值。前言     ... [详细]
  • Spring MVC 浅谈
    大学时写的的文章,当时文章水平略差,大家见谅。MVC这个词儿,最早的定义应该是作为一种软件架构设计模式出现在软工里面的,即使用model、view、controller来设计及定 ... [详细]
  • 如何设计一个秒杀系统(各方面都写的很到位)
    1.Overview1.1并发读写秒杀要解决的主要问题是:并发读与并发写。并发读的优化理念是尽量减少用户到服务端来读数据,或者让他 ... [详细]
author-avatar
苦--但是依然love着你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有