微服务相关

笔记

先来认识各大组件SpringCloud:

  1. Eurka注册中心,
  2. Zuul网关验证,
  3. Config分布式配置管理
  4. Ribbon负载均衡
  5. Feign接口调用
  6. Hystrix容错处理
  7. Sleuth微服务追踪
  8. Elk+Kafka日志收集
    RabbitMq中间件:解决高并发
    发布采用:Jenkins+docker(CI/CD)发布
    Mycat:数据库中间件
    sonarQube代码检测

解决思路

  1. 模块之间拆分后怎么找到,发现其他模块?
    通过Eurka注册中心,有了各个服务的地址清单。
  2. 接下里就是调用的问题了,之前单体时只需要浏览器发一个http请求自己内部去处理,但是现在把自己拆成各个模块,并且不再一个服务器上,假如浏览器发了一个请求给了一个模块,这个模块处理时需要借助其他模块的方法,这时该怎么调用,也不能让客户自己去调用,,
    通过Feign组件来实现互相调用。
  3. 互相调用难免会出错,出错了怎么办?
    通过Hystrix、

微服务架构相关概念和设计理念

将单体的项目拆分成多个模块项目,模块之间通过接口来调用。
单体式架构:项目迭代不灵活,并发配置不灵活,面对的是用户内部
微服务:就是拆,项目复杂度降低,团队界限明确,部署灵活,但同时运维复杂度提高。面对的是大用户哦,高并发。

微服务架构种类:
  1. Dubbo:基于RPC
  2. SpringCloud:基于Restful
微服务架构-服务类型:
  1. Provider:提供者,提供服务的一方
  2. Consumer:消费者,调用服务的一方
    假如把单体项目拆成三个模块,分别为用户,节目,订单模块,每个模块又拆成消费者和提供者
    微服务
微服务架构-通信方式
  1. RPC:(Remote Procedure Call)基于TCP,平台有关 ,效率高,以方法为中心
    远程过程调用协议,暂时理解:想要调用别人的服务,需要用人家的技术如(注解,方法)等东西
    就像调用自己本地的方法一样调用远程的方法
  2. RESTful:(Representational State Transfer)基于HTTP,平台无关,效率低,以资源为中心
    通过url,访问所需资源,(无状态),
微服务架构-设计原则
  • 单一职责
  • 围绕业务
  • 谁创建,谁负责(开发加运维)运维统一管理会很麻烦。

分布式和集群

  1. 分布式:关注项目拆分,项目ABC拆成A,B,C,三个项目
  2. 集群:关注项目部署,项目ABC复制三个ABC,分别部署到三个服务器

大觅网架构设计

业务架构
谁要使用这个系统,可以为用户提供什么样的功能
应用架构
以业务架构为基础,系统中有多少应用,每个应用是干什么,
	 如:前端应用,网关应用,后端应用,环境应用
技术架构
 前端:vue
 反向代理:Nginx
 网关Zuul
 消费者:fegin:接口管理,hystric:容错处理,Rabbin:负载均衡
 注册中心:Eurka
 提供者:fegin:接口管理,hystric:容错处理,Rabbin:负载均衡
 缓存器:redis
 搜索器:Elasticsearach
 数据库管理:Mycat 
 整体:docker和Jenkins
数据库架构

大觅网项目管理

版本管理-Git
分布式版本控制系统(DVCS)
代码规范管理-SonarQube(SonarLint)
项目敏捷管理-Scrum
敏捷开发(Agile Development)
	以人为核心,遵循迭代,循环渐进的开发方法
敏捷的框架
	XP,Scrum
Scrum
   将整个开发周期划分为若干个小的迭代周期的一种项目管理框架2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值