当前位置: 首页 > news >正文

微服务概念

什么是微服务

  1. 由一系列微小服务共同组成
  2. 跑在自己的进程里
  3. 为独立业务开发
  4. 独立部署
  5. 分布式管理
  6. 多个自治的处理元素
  7. 不共享内存
  8. 通过网络发送消息合作 http restful

服务演变

http://dubbo.apache.org/books/dubbo-user-book/preface/background.html

201806282125_209.jpg

单一应用架构

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。

垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

单一应用架构的缺点

开发效率低

代码维护难

部署不灵活

稳定性不高 牵一发动全身

扩展性不强

转载于:https://www.cnblogs.com/zhonglinjie/p/9241295.html

相关文章:

  • 开发者论坛一周精粹(第四十八期) ICP经营许可证办理流程
  • 如何禁止JavaScript对象重写?
  • 收藏~软件测试相关工具汇总
  • Redux 知识点梳理和实践
  • jquery-12 jquery的ajax如何使用
  • python学习之老男孩python全栈第九期_day003作业
  • python图像处理模块Pillow的学习
  • Django数据库
  • 【leetcode】403. Frog Jump
  • MongoDB安装运行
  • Python3学习笔记1,基本数据类型-Number、str
  • TenxCloud Microservice,时速云“三级火箭”之微服务治理
  • Nginx 启动出错 error while loading shared libraries: libpcre.so.1
  • Linux下安装MySQL 8.0
  • Kotlin 2018 调查:1/4 的 Java 开发者在迁移后表示后悔
  • css的样式优先级
  • ECMAScript入门(七)--Module语法
  • gops —— Go 程序诊断分析工具
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • java正则表式的使用
  • Rancher-k8s加速安装文档
  • rc-form之最单纯情况
  • 从setTimeout-setInterval看JS线程
  • 动态规划入门(以爬楼梯为例)
  • 关于Flux,Vuex,Redux的思考
  • 浅谈Golang中select的用法
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 问题之ssh中Host key verification failed的解决
  • 一、python与pycharm的安装
  • 一文看透浏览器架构
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 容器镜像
  • ###C语言程序设计-----C语言学习(3)#
  • #HarmonyOS:Web组件的使用
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #预处理和函数的对比以及条件编译
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (二)换源+apt-get基础配置+搜狗拼音
  • (译)计算距离、方位和更多经纬度之间的点
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .bashrc在哪里,alias妙用
  • .Net core 6.0 升8.0
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net refrector
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • ?
  • @EnableWebMvc介绍和使用详细demo
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案
  • [Firefly-Linux] RK3568 pca9555芯片驱动详解