zoukankan      html  css  js  c++  java
  • 微服务学习二

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

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

      优点:

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

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

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

      缺点:

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

        只能选一种技术来开发,

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

      优点:

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

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

        可扩展性和可重用性

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

        工程的规模

        工程的进度是不是很赶

        工程的预算

        开发者的水平

        后期的可扩展性

      

  • 相关阅读:
    【WPF】绘制柱状图、折线图、扇形图
    【WPF】获取容器宽高
    【SQL】SQL Server、MySQL、SQLite获取自增ID、自增ID清零
    【SQL Server操作】SQL Server重命名数据库及解决数据库无法分离的问题
    【数据迁移】MySQL数据库迁移到SQL Server
    【MySQL操作】MySQL导入导出数据库
    【MySQL操作】MySQL Workbench远程连接的一些操作
    【c#】遍历获得一个类的所有属性名
    vue 跨域 springCloud @CrossOrigin注解
    解决IDEA右侧maven不显示方法
  • 原文地址:https://www.cnblogs.com/hofmann/p/12966410.html
Copyright © 2011-2022 走看看