1.微服务介绍

1.什么是微服务

使用一套小服务来开发各个应用的方式,每个服务启动单独的进程,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署。
微服务是一种设计思想。

2.微服务的特点

单一职责:独立的业务单独放在一个项目里,比如订单服务作为一个项目。
轻量级的通信:http,rpc通信。
隔离性:每个服务相互隔离,不干扰
有自己的数据
技术多样性

3.微服务诞生的背景

互联网行业的快速发展,需求变化快,用户数量变化快。
敏捷开发深入人心,用最小的代码,做最快的迭代,频繁修改、测试、上线。
容器技术的成熟,是为服务的技术基础。

4.互联网架构演进之路

4.1单体架构

单体架构:
1.所有功能集成在一个项目中
2.项目整个打包,可以部署到服务器运行
3.应用于数据库可以分开部署,提高性能

优点:
1.小项目的首选,开发成本低,架构简单。

缺点:
1.项目复杂后,很难扩展和维护
2.扩展成本高,有瓶颈
3.技术栈受限制

4.2垂直架构

垂直架构:
1.对于单体架构的拆分,大项目拆成单个项目结构
2.存在数据冗余
3.项目之间要处理数据同步,通过数据库同步

优点:
1.小项目的首选,架构简单。
2.避免单体架构的无限扩大
3.技术不受限制

缺点:
1.很多功能放在一个工程中,有一定的瓶颈
2.系统性能扩展要通过集群节点扩展,成本较高

4.3SOA架构(面向服务的架构)

SOA架构:
1.将重复性的功能进行抽取,抽取成对应的服务。
2.通过ESB服务总线去访问。

优点:
1.提高系统可重用性
2.ESB减少系统接口耦合问题

缺点:
1.系统与服务界限模糊,不利于开发
2.ESB服务接口协议不固定,不利于系统维护
3.抽取力度较大,有一些耦合性

4.4微服务架构

微服务架构:
1.将服务层一个一个抽取微服务
2.遵循单一原则
3.微服务之间采用一些轻量协议传输数据

优点:
1.服务拆分粒度非常细,利于开发
2.提高系统可维护性
3.比ESB更轻量
4.适用于互联网更新换代快的情况

缺点:
1.服务过多,服务治理成本高
2.开发技术要求更高

5.微服务架构图

假设做个商城网站:
1.用户可以登录和注册,发短信验证
2.管理员可以查看商品,对商品增删改查

传统访问方式如下:

微服务架构访问方式

添加Apigateway,对客户端暴露一套API,方便调用

6.微服务架构的优势

1.独立性
2.使用者容易理解
3.技术栈灵活
4.高效团队

7.微服务架构的不足

1.额外的工作,服务的拆分
2.保证数据一致性
3.增加了沟通成本

8.微服务需要考虑的问题

8.1微服务如何通信

从通信模式考虑:

从通信协议考虑:
RPC

8.2微服务如何发现彼此

传统服务下:
一般是IP,端口号访问

微服务发现有两种方式----客户端发现和服务端发现
客户端发现:
微服务启动后,将自己IP和和端口进行注册,客户端查询注册,得到服务的IP和端口,通过负载均衡,访问微服务。

服务端发现:
客户端访问时,不去注册中心了,通过服务发现代理去直接访问

8.3微服务如何部署、更新和扩容

微服务部署到docker容器中
涉及服务编排:k8s,swarm

原文地址:https://blog.51cto.com/10983441/2469849

时间: 2024-07-31 02:54:01

1.微服务介绍的相关文章

Chris Richardson微服务翻译:微服务介绍

作者简介:Chris Richardson,世界著名的软件架构师,经典著作<POJOS IN ACTION>的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注,成为文章.博客.会议讨论的热点.与此同时,也有人质疑微服务并非新事物,只是SOA(Service Oriented Architecure)的二度封装.无论是追捧还是质疑,微服务架构拥有巨大的优势,尤其是让敏捷开发和复杂的企业应用支付成为可能. 本系列包含7篇文章,介绍了微服务架构的各个因素,了解微服务模型的

微服务介绍

PART1 什么是微服务?什么时候适合微服务改造?微服务架构到底是什么样的? wiki定义介绍:微服务的概念最早是在 2014 年由 Martin Fowler 和 James Lewis 共同提出,他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯.同时,服务会使用最小规模的集中管理 (例如 Docker)技术,服务可以用不同的编程语言与数据库等. 什么是微服务 单体应用 ? 早些年,各大互联

微服务介绍及Asp.net Core实战项目系列之微服务介绍

0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 一.微服务选型 在做微服务架构的技术选型的时候,以"无侵入"和"社区活跃"为主要的考量点,将来升级为原子服务架构.量子服务架构的时候.甚至恢复成单体架构的时候,代价最小. 软件开发只需要组装,不再需要从头开发. 选型可以参考一下张队长的文章:https://mp.weixin.qq.com/s/UIFjm7W6bDfdmjpeMVJtqA 二.微服务架构是什么? 每一个微服务都是一个零件,并使用这

微服务学习(一):微服务介绍

目录如下 软件架构的进化 微服务的优势和不足 微服务架构所带来的问题及解决方案 1.软件架构的进化 于笔者经历来看 架构大致从 单体架构 >MVC > 微服务 单体架构 单体架构特点在于所有功能业务打包在一个发布包里,部署在一个web容器中,运行在一个进程里.单体架构的优点在于 容易开发 -- 一个人就可以写了,但是你想想这个后期其他人维护.... 容易测试 -- 所有功能都在一个进程里嘛,测试就简单了 容易部署 -- 比如一个war包 丢服务器上就好了 缺点 维护困难 -- 代码量之后越来越

Spring Cloud微服务实战

第1章 课程介绍 课程导学和学习建议 第2章 微服务介绍 什么是微服务, 单体架构优缺点, 常见的几种架构模式. 第3章 服务注册与发现 介绍微服务中的服务注册与发现机制,Spring Cloud Eureka组件的使用以及如何保证高可用 第4章 服务拆分 以商品服务和订单服务为例介绍微服务拆分中的业务功能拆分和数据拆分的注意点以及将项目模块进行多模块改造 第5章 应用通信 比较HTTP REST 和 REST,同步和异步, 介绍Spirng Cloud 采用的两种HTTP方式,重点介绍Feig

微服务springboot视频最新SpringBoot2.0.3版本技术视频教程【免费学习】

超火爆的springboot微服务技术怎么学,看这里,springboot超详细的教程↓↓↓↓↓↓https://ke.qq.com/course/179440?tuin=9b386640 01.springboot介绍02.微服务介绍03.springboot第一个例子04.Springboot中的常用注解分析05.springboot启动配置分析06.springboot热部署07.springboot的yaml语法08.springboot属性配置文件方式详解[email protecte

JAVA Cloud微服务项目实战 SpringBoot 2.x +SpringCloud

课程目录第1章 课程介绍课程导学和学习建议 1-1 SpringCloud导学1-2 获取源码说明1-3 提问建议1-4 点餐项目演示说明第2章 微服务介绍什么是微服务, 单体架构优缺点, 常见的几种架构模式. 2-1 微服务和其他常见架构2-2 从一个极简的微服务架构开始第3章 服务注册与发现介绍微服务中的服务注册与发现机制,Spring Cloud Eureka组件的使用以及如何保证高可用 3-1 Spring Cloud Eureka3-2 Eureka Server3-3 Eureka

go微服务实战,docker

近几年,微服这个词闯入了我们的实线范围.在百度与谷歌中随便搜一搜也有几千万条的结果.那么,什么是微服务 呢?微服务的概念是怎么产生的呢? 我们就来了解一下Go语言与微服务的千丝万缕与来龙去脉. 什么是微服务? 在介绍微服务时,首先得先理解什么是微服务,广义上来讲,微服务是一种分布式系统解决方案,推动细粒度服务的使用,这些服务协同工作. 内容 1 微服务介绍与概念 2 protobuf 3 grpc 4 consul 5 框架micro操纵 fastdfs 网站短信验证 ... 6 租房网的业务

微服务架构介绍

jhipser微服务架构介绍 内容提要 本文涉及以下内容: 微服务架构介绍 spring cloud介绍 jhipster架构介绍 微服务架构介绍 微服务概念 微服务和SOA很相似,都是按照业务功能把系统拆分成一个一个的服务.比如电子商务系统拆分成订单服务,商品服务等,每个微服务都是自治的,可以单独部署.微服务和SOA的区别是:微服务粒度更细,通信协议倾向于使用restfull api 而不使用webservice.微服务有很多优点,包括松散耦合.自治服务.分散化治理以及易于持续交付等等.微服务