spring微服务一 、什么是微服务?微服务的概念

什么是为服务?

首先,微服务不等于 Spring Cloud,所谓微服务就是做分布式架构的一种,所谓分布式架构就是把服务做拆分,拆分的过程会产生各种各样的问题,springCloud只是解决了服务拆分时的服务治理问题

 微服务做拆分的时候,会把一个单体的项目,拆分成许多个业务独立的项目,每个项目完成一部分独立的义务功能,将来独立开发和部署,每个独立的项目我们称之为 “服务”,一个大型互联网项目可能会包含数百上千个服务,最终形成服务集群

而一个业务往往也需要多个服务共同来完成,随着业务越来,业务关系也就越来越复杂,想靠人来管理是不可能的;所以在微服务里,一定会有一个组件,叫做注册中心

注册中心:它可以去记录微服务中每一个服务的 ip+端口,以及它能干什么事,当有一个服务A需要去调用另一个服务B时,服务A不需要自己去记录服务B的信息,只需要去找注册中心就可以了,从注册中心去拉取对应服务B的信息

同时,随着服务越来越多,每个服务都有自己的配置文件,将来如果要更改配置文件,不用逐一去修改,所以在微服务里还有一个配置中心

配置中心:它可以统一的去管理整个服务集群里成千上百的这些配置,如果以后有些配置需要变更,只需要找到配置中心就可以了,它会去通知相关的服务,实现配置的热更新

服务起来以后,用户就可以去访问了,但是这么多服务,用户怎么知道去访问哪一个呢?而且也不是什么人都可以来访问我们的服务!就像法院,肯定有看站岗的哨兵,不能什么人来了都让进。所以,在微服务里还有一个网关组件。比如说A来了,哨兵问你找谁?A说找马冬梅。

网关组件:一方面可以做对身份的校验,另一方面,可以把我们的请求路由到我们的某个具体服务,路由的过程中可以做一些(负载均衡),此时,服务接收到请求就去处理业务,该访问数据库的时候就去访问数据库,最后再把查询到的数据返回给前段就ok了

如果有问题记录日志,还添加了分布式日志服务

如果服务越来越多,成百上千等,如果还用人工去部署显然不合理了,也不现实

自动化部署:这一套称之为持续集成

  • 利用Jenkins技术实现自动化编译
  • 基于docker实现打包形成镜像
  • 再基于k8s这样的技术,去实现自动化的部署

所以:微服务技术栈 = 微服务这些技术 + 持续集成

微服务技术栈

  • spring Cloud :微服务治理
  • MQ:异步通信
  • Redis:缓存
  • ES-搜索
  • 持续集成

知识层次 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值