通常而言,微服务架构是一种架构模式或者说是一种架构风格。它提倡将单一应用程序划分成一组小的服务,每个服务运行独立的自己的进程中,服务之间互相协调、互相配合,为用户提供最终价值。

服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。

一个完整的微服务系统,它最少要包含以下功能:

日志和审计,主要是日志的汇总,分类和查询;

监控和告警,主要是监控每个服务的状态,必要时产生告警;

消息总线,轻量级的MQ或HTTP;

注册发现;

负载均衡;

部署和升级;

事件调度机制;

以下功能不是最小集的一部分,但也应该在选择时进行考虑:

认证和鉴权;

多语言支持,是否支持多种编程语言;

统一服务构建和打包;

统一服务测试;

统一配置文件管理;

服务依赖关系管理;

问题跟踪调试框架;

灰度发布;

蓝绿部署;

资源管理,如:底层的容器,虚拟机,物理机和网络管理;

完整的微服务系统应该包括哪些功能?相关推荐

  1. 一个完整的微服务系统,应该包含哪些功能?--转

    原文地址:http://chuansong.me/n/405417651660 近几年,微服务架构迅速在整个技术社区窜红,它被认为是IT软件架构的未来方向,大神Martin Fowler也给微服务极高 ...

  2. 《深入理解 Spring Cloud 与微服务构建》第十八章 使用 Spring Security OAuth2 和 JWT 保护微服务系统

    <深入理解 Spring Cloud 与微服务构建>第十八章 使用 Spring Security OAuth2 和 JWT 保护微服务系统 文章目录 <深入理解 Spring Cl ...

  3. 《深入理解 Spring Cloud 与微服务构建》第二章 微服务应该具备的功能

    <深入理解 Spring Cloud 与微服务构建>第二章 微服务应该具备的功能 文章目录 <深入理解 Spring Cloud 与微服务构建>第二章 微服务应该具备的功能 一 ...

  4. 单体架构和微服务系统架构的优缺点

    单体架构 所谓的单体架构就是把所有的业务模块编写在一个项目中,最终会打包成一个war包,然后进行部署 单体架构的优点: 部署简单:由于是完整的结构体,可以直接部署在一份服务器上即可 技术单一:项目不需 ...

  5. 基于 Spring Security OAuth2和 JWT 构建保护微服务系统

    我们希望自己的微服务能够在用户登录之后才可以访问,而单独给每个微服务单独做用户权限模块就显得很弱了,从复用角度来说是需要重构的,从功能角度来说,也是欠缺的.尤其是前后端完全分离之后,我们的用户信息不一 ...

  6. 使用 Spring Cloud 实现微服务系统

    使用 Spring Cloud 实现微服务系统 准备工作: 为了方便创建项目,以及各版本以来关系,此次创建项目使用 Spring Assistant插件. 创建单体服务中心项目 启用服务端的服务注册, ...

  7. 搭建一个完整的微服务项目

    一.项目技术架构 1.技术栈 前台技术 Node.js.Npm.Vue.js.WebPack.Vue Cli.Element UI 后台架构 微服务架构:按照功能拆分N多个服务,每个服务可以独立技术选 ...

  8. 《深入理解 Spring Cloud 与微服务构建》第十七章 使用 Spring Cloud OAuth2 保护微服务系统

    <深入理解 Spring Cloud 与微服务构建>第十七章 使用 Spring Cloud OAuth2 保护微服务系统 文章目录 <深入理解 Spring Cloud 与微服务构 ...

  9. SpringBoot搭建天气预报微服务系统

    SpringBoot搭建天气预报微服务系统 前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来. 从天气预报微服务系统 ...

最新文章

  1. 985高校博士情侣致谢:我俩每月补贴600元,在一线城市生活5年
  2. 手把手教你安装OpenStack——Ocata安装指南(上)
  3. 制作简易的LED闪烁测试工具
  4. [Python]网络爬虫(四):Opener与Handler的介绍和实例应用
  5. 白话经典算法系列之六 高速排序 高速搞定
  6. 视频百教程度云_腾讯视频的进击
  7. memcache/memcached/memcachedb 配置、安装(转)
  8. 计算机网络协议包头赏析-TCP
  9. 逻辑回归模型_逻辑回归模型
  10. 计算机体系结构在线读,计算机体系结构new.ppt
  11. java多继承_为什么 Java 不支持类多重继承?
  12. tp3.2 访问地址url大小写及控制器多个单词组成时url
  13. 切换无线网卡失败服务器提示,Win7系统切换usb无线网卡为AP模式时提示ICS启动失败如何解决...
  14. android 存储盘 dcim,Android上的DCIM目录路径 – 返回值
  15. 程序化生成(PCG)算法的改进——基于以地学为主的多基础学科
  16. 如何读博士-2021.06.12
  17. 17计算机七班班级活动,2017班级主题活动方案设计
  18. Loj #3124. 「CTS2019 | CTSC2019」氪金手游
  19. 智能微模块一体化机柜
  20. 【百度快照】基于MATLAB GUI的条形码识别系统

热门文章

  1. [转载] python中*args 和 **kwargs区别
  2. [转载] python 字典的get()pop()方法的区别
  3. [转载] 用Python进行简单的文本相似度分析
  4. LESS是一个CSS预处理器,跨浏览器友好,提供诸如变量,函数, mixins 和操作等功能,可以构建动态CSS...
  5. spring cloud config-配置中心
  6. shell基础--字符串和变量的操作
  7. Python 第七篇:socket编程
  8. 04-3. 统计素数并求和(20)
  9. 一位信息系统项目管理培训老师写的《论婚姻项目管理》值得看一下!
  10. CV学习笔记-BP神经网络训练实例(含详细计算过程与公式推导)