小结

1 系统架构演变

随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到
垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?

1 集中式架构
2垂直拆分
3分布式服务
4 服务治理 (SOA)
5微服务
在这里插入图片描述

微服务的特点:

单一职责:微服务中每一个服务都对应唯一的业务能力,做到单一职责
微:微服务的服务拆分粒度很小,例如一个用户管理就可以作为一个服务。每个服务虽小,但“五脏俱全”。
面向服务:面向服务是说每个服务都要对外暴露服务接口API。并不关心服务的技术实现,做到与平台和语言无关,也不限定用什么技术实现,只
要提供Rest的接口即可。
自治:自治是说服务间互相独立,互不干扰
团队独立:每个服务都是一个独立的开发团队,人数不能过多。
技术独立:因为是面向服务,提供Rest接口,使用什么技术没有别人干涉
前后端分离:采用前后端分离开发,提供统一Rest接口,后端不用再为PC、移动段开发不同接口
数据库分离:每个服务都使用自己的数据源
部署独立,服务间虽然有调用,但要做到服务重启不影响其它服务。有利于持续集成和持续交付。每个服务都是独立的组件,可复用,可替
换,降低耦合,易维护

2 Spring Cloud

Spring最擅长的就是集成,把世界上最好的框架拿过来,集成到自己的项目中去

SpringCloud也是一样,它将现在流行的一些技术整合到一起

诸如: 配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群等等功能。其中 涉及的组件包括:

1 Eureka注册中心:各个服务启动时,Eureka Client 都会将服务注册到 Eureka Server,并且 Eureka Client 还可以反过来从 Eureka Server 拉取注册表,从而知道其他服务在哪里。
2 Ribbon 负载均衡:服务间发起请求的时候,基于 Ribbon 做负载均衡,从一个服务的多台机器中选择一台。
3 Feign 服务调用:基于 Feign 的动态代理机制,根据注解和选择的机器,拼接请求 URL 地址,发起请求。
4 Hystrix:发起请求是通过 Hystrix 的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。
5 Zuul 服务网关:如果前端、移动端要调用后端系统,统一从 Zuul 网关进入,由 Zuul 网关转发请求给对应的服务。

3 解决域名问题

在这里插入图片描述

4 解决端口问题 nginx

4.1 什么是nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

流程分析

在这里插入图片描述
浏览器准备发起请求,访问http://mamage.leyou.com,但需要进行域名解析

优先进行本地域名解析,因为我们修改了hosts,所以解析成功,得到地址:127.0.0.1

请求被发往解析得到的ip,并且默认使用80端口:http://127.0.0.1:80

本机的nginx一直监听80端口,因此捕获这个请求

nginx中配置了反向代理规则,将manage.leyou.com代理到127.0.0.1:9001,因此请求被转发

后台系统的webpack server监听的端口是9001,得到请求并处理,完成后将响应返回到nginx

nginx将得到的结果返回到浏览器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值