博客
关于我
微服务架构学习与思考(03):微服务总体架构图解
阅读量:431 次
发布时间:2019-03-06

本文共 1298 字,大约阅读时间需要 4 分钟。

微服务架构学习系列文章

一:进行服务分层

在学习微服务架构时,服务分层是一个非常重要的概念。类似于TCP/IP协议的分层,分层的目的是让各层之间相互隔离,各司其职。这种方法能够帮助我们更好地组织和管理微服务系统。

最简单的服务分层

最简单的服务分层可以分为三层:接入层、聚合服务层和基础服务层。

  • 接入层

    这是外部设备访问的统一接入层。它负责把外部流量引入到系统中,并进行初步的处理。常见的接入层技术包括Nginx、LVS等负载均衡工具。

  • 聚合服务层

    这一层的主要职责是对下层基础服务进行聚合和适配。例如,PC端和移动端的数据显示可能有所不同,聚合服务层可以根据不同设备的需求对数据进行裁剪和调整。通过在服务端进行数据聚合,可以显著提升访问效率。

  • 基础服务层

    这一层提供的是比较细粒度的微服务。它通常包括核心服务、公共服务和中间层服务等。上层服务可以通过调用这些基础服务来完成复杂的业务逻辑。

  • 有时候,接入层和聚合服务层的作用可能会让人有些困惑。为什么在服务端直接聚合数据会比在客户端做更好?答案在于服务端聚合可以显著提升访问效率,从而提高用户体验。

    服务分层的扩展

    上面的最简单的服务分层只是一个基本的框架。在实际应用中,我们可以根据具体需求在这个基础之上进行扩展。

    二:微服务总体架构图

    在学习微服务架构时,一个全面的总体架构图非常有帮助。以下是一个常见的微服务架构图,分为六个层次:

  • 接入层

    负载均衡层,负责处理外部流量。它可以使用Nginx、LVS等工具。

  • 网关层

    这一层负责接口的安全性和可靠性。它通常包括认证、鉴权、过滤、限流等功能。通过这一层,我们可以保护内部服务不被未经授权的访问。

  • 业务服务层

    这一层包括基础服务和聚合服务。

    • 基础服务:根据业务特点进一步划分,包括核心基础服务、公共服务和中间层服务。
    • 聚合服务:将细粒度的基础服务封装和关联,形成更高层次的服务。这种方式可以更好地满足上层业务需求。
  • 支撑服务层

    这一层为微服务提供必要的支持。它包括服务注册、配置中心、监控报警、日志聚合等设施。这些工具能够帮助我们更好地管理和运维微服务系统。

  • 平台服务层

    这一层是业务弹性治理的关键。它包括资源调度、镜像管理和发布系统等功能。通过这一层,我们可以实现业务的弹性扩展和收缩。例如,在微博热点事件期间,可以自动扩展服务资源。

  • 基础设施层

    这是最底层的基础设施,包括网络、存储、硬件等。它是整个架构的基础,确保微服务系统能够高效稳定运行。

  • 上面的架构图可以根据具体需求进行调整。每家公司的业务特点和技术环境都可能不同,因此架构设计也需要相应的调整。

    三:参考

    在学习微服务架构时,可以参考一些优秀的资源和文档。以下是一些推荐的参考内容:

    • 《微服务架构》一书由杨波老师撰写,内容详实,非常值得一读。
    • 《微服务设计模式》系列文章,涵盖了微服务在不同层次的设计思路。
    • 各大技术博客和论坛,如Segmentfault、 Hacker News等,通常会有丰富的技术分享。

    每家公司的业务需求和技术环境都有所不同,因此架构设计也需要根据具体情况进行调整。希望以上内容能对你学习微服务架构有所帮助!

    转载地址:http://tzfyz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现向量叉乘(附完整源码)
    查看>>
    Objective-C实现哈希查找(附完整源码)
    查看>>
    Objective-C实现哈希表算法(附完整源码)
    查看>>
    Objective-C实现哥德巴赫猜想(附完整源码)
    查看>>
    Objective-C实现唯一路径问题的动态编程方法的算法(附完整源码)
    查看>>
    Objective-C实现唯一路径问题的回溯方法的算法(附完整源码)
    查看>>
    Objective-C实现四舍五入(附完整源码)
    查看>>
    Objective-C实现四阶龙格库塔法(附完整源码)
    查看>>
    Objective-C实现四阶龙格库塔法(附完整源码)
    查看>>
    Objective-C实现回调实例(附完整源码)
    查看>>
    Objective-C实现图-弗洛伊德FloydWarshall算法(附完整源码)
    查看>>
    Objective-C实现图书借阅系统(附完整源码)
    查看>>
    Objective-C实现图像二维熵的图像信号丢失检测(附完整源码)
    查看>>
    Objective-C实现图像去雾算法(附完整源码)
    查看>>
    Objective-C实现图像灰度变换(附完整源码)
    查看>>
    Objective-C实现图像相似度平均值哈希算法(附完整源码)
    查看>>
    Objective-C实现图像移动(附完整源码)
    查看>>
    Objective-C实现图层混合算法(附完整源码)
    查看>>
    Objective-C实现图片dilation operation扩张操作算法(附完整源码)
    查看>>
    Objective-C实现图片erosion operation侵蚀操作算法(附完整源码)
    查看>>