![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
微服务学习笔记
文章平均质量分 87
微服务学习笔记,视频地址https://www.bilibili.com/video/BV1LQ4y127n4?spm_id_from=333.999.0.0
七号公园的忧伤
点个关注,《不会私信推消息》
展开
-
第12节:Sentinel入门安装+限流规则
1、什么是Sentinel雪崩问题:当服务A依赖的服务B出现故障,服务A中的请求一直等待,导致服务A中的连接数变高,最终可能导致服务A也出现问题,然后依赖服务A的服务也出现问题,导致整个微服务集群出现问题。解决方法:添加超时时间,不会一直等待舱壁模式:限定每个业务使用的线程数,避免某个服务耗尽所有资源。不过会造成资源浪费熔断降级:由断路器统计业务执行的异常比例,如果超出阈值就会熔断该业务,拦截访问该业务的一切请求。流量控制:限制业务访问的QPS,避免服务因为流量的突增而故障。Sentin原创 2022-04-17 16:36:48 · 1304 阅读 · 4 评论 -
第11节:Docker基本操做
1、镜像相关命令镜像名称一般分两部分组成:[repository]:[tag]。在没有指定tag时,默认是latest,代表最新版本的镜像。比如mysql:5.7 mysql指的是repository,5.7是tag。docker builder构建一个镜像dicker images 查看本地镜像docker rmi xxx 删除镜像docker push 推送镜像到远程仓库docker pull 拉取镜像docker save保存镜像为压缩包docker load 加载压缩包为原创 2022-04-10 15:33:26 · 3651 阅读 · 0 评论 -
第10节:Docker入门+下载安装配置
1、项目部署问题大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:1.每个应用在Linux服务器部署的时候,都需要一些准备工作,因为需要安装各自依赖和函数库,不同的应用依赖可能不同,也可能是版本不同,导致关系很复杂,产生兼容问题。2.不同环境有差异,开发,测试、生产环境。比如不同环境操作系统不同,或者版本不同。导致项目的部署特别费时。2、初识Docker2.1、对于不同的依赖docker将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包,将每个应用放到一个隔离容器去运原创 2022-04-09 18:03:18 · 1730 阅读 · 0 评论 -
第九节:统一网关Gateway
1、为什么需要网关当我们有很多的微服务,如果直接对外开放访问,比较危险。因此我们增加一层网关。对用户请求做身份认证、权限校验,将用户请求路由到微服务,并实现负载均衡对用户请求做限流。2、网关的技术实现在SpringCloud中网关的实现包括两种:1、gateway2、zuulZuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。3、搭建网关服务3.1、创建新模块项目中原创 2022-04-05 18:26:02 · 962 阅读 · 0 评论 -
第八节:http客户端Feign的使用
1、RestTemplate问题String url = "http://userservice/user/" + order.getUserId();User user = restTemplate.getForObject(url, User.class);存在下面的问题:1.代码可读性差,编程体验不统一。2、参数复杂URL难以维护2、Feign介绍Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign其作用就是帮助我们优原创 2022-04-04 18:04:12 · 868 阅读 · 0 评论 -
第七节:Nacos集群搭建
Nacos集群搭建1.集群结构图官方文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。我们计划的集群结构:三个nacos节点的地址:节点ipportnacos1192.168.150.18845nacos2192.168.150.18846nacos3192.168.150.18原创 2022-04-04 16:54:52 · 170 阅读 · 0 评论 -
第六节:Nacos配置管理
1、Nacos配置管理统一配置管理:我们服务中配置如果都放在代码中或者项目里的配置文件中,那么我们如果要修改配置,就不得不修改代码,提交上线,重启服务。如果我们使用统一配置管理,就可以在服务启动的时候从配置管理服务读取配置,启动后,修改配置后,也会主动通知我们的服务。1.1、新建配置点击新建配置DataId是唯一的,所以,命名需要注意,这里使用服务名+环境标识。group默认,配置格式选择yaml,内容填写需要热更新的配置。添加配置内容点击页面最后的发布点击页面最后的发布2、服原创 2022-04-04 16:29:21 · 3293 阅读 · 0 评论 -
第五节:Nacos服务搭建和负载均衡规则
1、认识NacosNacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。2、安装参照官网:https://nacos.io/zh-cn/docs/quick-start.html0.版本选择您可以在Nacos的release notes及博客中找到每个版本支持的功能的介绍,当前推荐的稳定版本为2.0.3。1.预备环境准备Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven原创 2022-03-27 18:19:44 · 8653 阅读 · 1 评论 -
第四节:Ribbon负载均衡使用
1、注入的方式添加Bean @Bean public IRule getRule(){ return new RandomRule(); }再次启动项目,发送请求,就是随机的了。实现方式在这RibbonClientConfiguration中: @Bean @ConditionalOnMissingBean public IRule ribbonRule(IClientConfig config) { if (this.propertiesFacto原创 2022-03-27 16:16:21 · 501 阅读 · 0 评论 -
第三节:Ribbon负载均衡Rule详解
1、负载均衡流程1.orde-service发起请求经过Ribbon2.Ribbon到eureka-server中拉取服务列表3.Ribbon负载均衡选择服务4.然后修改请求url,将服务名替换为真正的url地址发起请求。2、Ribbon负载均衡实现public class LoadBalancerInterceptor implements ClientHttpRequestInterceptor { @Override public ClientHttpResponse interce原创 2022-03-27 14:45:57 · 1358 阅读 · 0 评论 -
第二节:使用Eureka注册发现
1、服务消费者和提供者提供者:提供服务的一方消费者:调用服务的一方一个服务既可以是提供者也可以是消费者。2、Eureka注册中心2.1、Eureka的作用消费者如何获取服务提供者具体信息?服务提供者启动时向eureka注册自己的信息eureka保存这些信息消费者根据服务名称向eureka拉取提供者信息如果有多个服务提供者,消费者该如何选择?服务消费者利用负载均衡算法,从服务列表中挑选一个消费者如何感知服务提供者健康状态?服务提供者会每隔30秒向EurekaServer原创 2022-03-27 14:41:41 · 664 阅读 · 0 评论 -
第一节:微服务介绍和项目搭建
学习资料来源于视频:https://www.bilibili.com/video/BV1LQ4y127n4微服务技术对比DubboSpringCloudSpringCloudAlibaba注册中心zookeeper、RedisEureka、ConsulNacos、Eureka服务远程调用Dubbo协议Feign(http协议)Dubbo、Feign配置中心无SpringCloudConfigSpringCloudConfig、Nacos服务网原创 2022-03-26 17:45:03 · 1468 阅读 · 0 评论