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

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

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

      优点:

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

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

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

      缺点:

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

        只能选一种技术来开发,

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

      优点:

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

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

        可扩展性和可重用性

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

        工程的规模

        工程的进度是不是很赶

        工程的预算

        开发者的水平

        后期的可扩展性

      

  • 相关阅读:
    HTTP/2之服务器推送(Server Push)最佳实践
    相似人群画像算法
    Linux也有后悔药,五种方案快速恢复你的系统
    IPv6原理、应用与实践
    护航者,腾讯云: 2017年度游戏行业DDoS态势报告—回溯与前瞻
    放大倍数超5万倍的Memcached DDoS反射攻击,怎么破?
    Unity引擎与C#脚本简介
    腾讯云Redis混合存储版重磅推出,万字长文助你破解缓存难题!
    拒绝平庸,以程序员的名义定义新桌面!
    腾讯云EMR大数据实时OLAP分析案例解析
  • 原文地址:https://www.cnblogs.com/hofmann/p/12966410.html
Copyright © 2011-2022 走看看