Chinaunix首页 | 论坛 | 博客
  • 博客访问: 393650
  • 博文数量: 273
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1430
  • 用 户 组: 普通用户
  • 注册时间: 2018-02-02 15:57
文章分类

全部博文(273)

文章存档

2018年(273)

我的朋友

分类: 信息化

2018-08-13 11:23:15

在阿里巴巴的生态中,微服务逐渐成为主要的服务形态,伴随着容器化的日臻成熟,大量的分布式、领域驱动设计的微服务被快速开发和部署,服务间呈现出搭积木的能力,使不同的业务通过重新组合数个微服务,就能实现新的业务场景。借助成熟的底层集团中间件,天然地支持微服务所需的动态扩缩、服务发现、全链路日志分析等能力。以阿里巴巴达摩院语音对话平台为例,对话服务、理解服务、问答服务,以及对话管理平台都是基于SpringBoot和Docker技术栈的。

微服务应该具备的功能

微服务,可以拆分为“微”和“服务”二字。“微”即小的意思,那到底多小才算“微”呢?可能不同的团队有不同的答案。从参与微服务的人数来讲,单个微服务从架构设计、代码开发、测试、运维的人数加起来是8~10人才算“微”。那么何为“服务”呢?按照“微服务”概念提出者Martin Fowler给出的定义:“服务”是一个独立运行的单元组件,每个单元组件运行在独立的进程中,组件与组件之间通常使用HTTP这种轻量级的通信机制进行通信。

微服务具有以下的特点。

  • 按照业务来划分服务,单个服务代码量小,业务单一,易于维护。
  • 每个微服务都有自己独立的基础组件,例如数据库、缓存等,且运行在独立的进程中。
  • 微服务之间的通信是通过HTTP协议或者消息组件,且具有容错能力。
  • 微服务有一套服务治理的解决方案,服务之间不耦合,可以随时加入和剔除服务。单个微服务能够集群化部署,并且有负载均衡的能力。
  • 整个微服务系统应该有一个完整的安全机制,包括用户验证、权限验证、资源保护等。
  • 整个微服务系统有链路追踪的能力。
  • 有一套完整的实时日志系统。

微服务具有以上这些特点,那么微服务需要具备一些什么样的功能呢?微服务的功能主要体现在以下几个方面。


阅读(1732) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~