• 微服务学习二


      单服务架构和微服务架构比较

      单服务架构,传统服务器架构, 在一台服务器上运行,由单一的程序提供服务。

      优点:

        开发速度快,运行效率高。开始的时候你可以写出最基础的运行工作流程来,然后在以后的扩展中不断的添加功能。

          单服务架构的程序是运行在一个程序空间里面的,程序里面的数据共享是在程序空间之内进行的,所以速度快。

          单服务架构有一个统一的数据库,每个功能模块,比如说用户验证,订单管理,产品管理等,访问同一个数据库。共用一个数据库,在一台服务器上共享一套操作系统和文件系统。

      缺点:

        作为一台服务器上跑着的一个程序空间,修改某个部分需要通过完整测试,保证所有的程序模块都安全的正常的运行。如果程序某一部分写不好,会影响整体运行。特别是当服务框架非大,程序规模大,小小的改动,可能要重新编译所有程序,并且重新部署所有程序。

        只能选一种技术来开发,

      微服务架构系统,每一个服务都是一个单独的程序空间,比如说用户管理是一个单独的程序空间,订单管理也是一个单独的程序空间,产品管理也是一个单独的程序空间。这些程序空间可以有自己的独有数据库,甚至每个程序空间都可以跑在单独的服务器上。那么这些服务是怎么工作的呢?比如说,用户在进入网站之前,首先要调用用户管理服务,检查是否登录成功了。如果登录成功以后就可以拿着获得的token, 去订单管理那边拿数据,从而可以获取自己的订单,也可以进行下订单等操作。这些服务之间的交互都是通过HTTP的通信方式来进行的,通信方式的载体一般json数据。

      优点:

        单独的程序空间,单独的进程。可以把每一个服务部署到单独的服务器上。修改一部分,只需要部署这一部分,只会影响当前程序空间,不会影响其他。

        每个单独的服务可以进行单独测试

        可扩展性和可重用性

      选哪一种架构取决于如下几个因素:

        工程的规模

        工程的进度是不是很赶

        工程的预算

        开发者的水平

        后期的可扩展性

      

  • 相关阅读:
    004-核心技术-netty概述、传统IO、Reactor线程模型
    003-核心技术-IO模型-NIO-基于NIO群聊示例
    002-核心技术-IO模型-NIO【Selector、Channel、Buffer】、零拷贝
    018-redis-命令合计
    【整理】js、python、java分别对url进行编码和解码
    深度 | 翟东升:写在美帝国撤军和阿富汗政权溃散之际
    修改Windows10 命令终端cmd的编码为UTF-8 && IDEA控制台输出中文乱码
    Dockerfile文件中的ENTRYPOINT,CMD命令跟k8s中command,args之间的关系
    服务器带宽,流量之间的关系
    值得收藏的下载地址
  • 原文地址:https://www.cnblogs.com/hofmann/p/12966410.html
Copyright © 2020-2023  润新知