![](https://img-blog.csdnimg.cn/direct/fca1416e50774e39976834f69476e116.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
微服务:小服务大智慧
文章平均质量分 77
深度探讨微服务架构的精髓,从设计模式到实际应用,专注于解析微服务的种种奥秘。无论你是初探微服务的新手还是追求深度洞察的工程师,我将分享实际案例、最佳实践和领先技术。透过生动的案例和深入的解析,助你在分布式系统的旅程中游刃有余。
薛伟同学
全栈开发;开源项目作者;技术经理;CSDN 优秀创作者;博客之星;专注于 Java、微服务领域,点个关注,变优秀的路上拉上你!
展开
-
服务注册中心Eureka
什么是服务注册中心?所谓服务注册中心就是在整个的微服务架构中单独提出一个服务,这个服务不完成系统的任何的业务功能,仅仅用来完成对整个微服务系统的服务注册和服务发现,以及对服务健康状态的监控和管理功能。SpringCloud支持的多种注册中心Eureka、Consul、Zookeeper、以及阿里巴巴推出Nacos。这些注册中心在本质上都是用来 管理服务的注册和发现以及服务状态的检查的。服务注册中心的功能有以下几点:可以对所有的微服务的信息进行存储,如微服务的名称、IP、端口等。可以在进行服务调原创 2021-10-14 08:58:12 · 1093 阅读 · 0 评论 -
服务注册中心Consul
简介Consul是一个可以提供服务发现,健康检查,多数据中心,Key/Value存储等功能的分布式服务框架,用于实现分布式系统的服务发现与配置,使用起来也较为简单。Consul基于Golang语言实现,因此具有天然可移植性(支持Linux、Windows和MacOS)。安装包仅包含一个可执行文件,方便部署。Consul具有分布式的、高可用的、可横向扩展的特点。官网:https://www.consul.ioConsul的功能特性特性描述服务发现(Service Discove原创 2021-10-14 08:57:57 · 259 阅读 · 0 评论 -
基于RestTemplate的服务调用
简介Spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接,我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。前期准备在SpringCloud环境下创建用户服务和订单服务两个模块,引入以下依赖: <dependencies> <!--引入SpringBoot依赖-原创 2021-10-14 08:57:37 · 1024 阅读 · 0 评论 -
基于Ribbon+RestTemplate的服务调用
简介SpringCloud Ribbon是一个基于HTTP和TCP的客户端的负载均衡工具,它基于Netflix Ribbon实现。通过SpringCloud 的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。注意这里的两个关键词:客户端:Ribbon需要将注册中心的服务示例拉去到本地进行缓存,并在本地完成负载均衡的动作,默认使用轮询的方式。负载均衡:Ribbon只是进行负载均衡的操作,选取合适的微服务示例来提供给RestTemplate,请求的操作由后者完成。原创 2021-10-14 08:57:09 · 355 阅读 · 0 评论 -
Ribbon的负载均衡策略
关系UML类图如图所示,可以看到在Ribbon中实现了非常多的选择策略,下面我们来详细看一下IRule接口的各个实现。AbstractLoadBalancerRule负载均衡策略的抽象类,在该抽象类中定义了负载均衡器ILoadBalancer对象,该对象能够在具体实现选择服务策略时,获取到一些负载均衡器中维护的信息来作为分配依据,并以此设计一些算法来实现针对特定场景的高效策略。RandomRule该策略实现了从服务实例清单中随机选择一个服务实例的功能。具体的选择逻辑在一个while(server原创 2021-10-14 08:56:41 · 1152 阅读 · 0 评论 -
基于OpenFeign的服务调用
简介OpenFeign是一个声明式的web服务客户端,让编写web服务客户端变的非常容易,只需要创建一个接口并在接口上添加注解即可,OpenFeign的前身是Feign,后者目前已经停更了,OpenFeign是SpringCloud在Feign的基础上支持了Spring MVC的注解,并通过动态代理的方式产生实现类来做负载均衡并进行调用其他服务。OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法原创 2021-10-14 08:56:21 · 665 阅读 · 0 评论 -
微服务的防御之道:服务雪崩、服务熔断、服务降级
本文将深入探讨在微服务架构中常见的服务雪崩、服务熔断、服务降级三个重要的概念。我们将解释它们的定义、原因以及对系统造成的影响。通过详细的分析,我们将介绍如何通过各种策略和工具,如Hystrix等,来应对和防范这些微服务架构中可能出现的问题,确保系统的稳定性和可靠性。本文适用于想要深入了解微服务架构稳定性问题的开发者和系统架构师。原创 2021-10-14 08:55:50 · 1324 阅读 · 1 评论 -
服务熔断器-Hystrix
简介在分布式环境中,许多服务依赖项不可避免地会失败。Hystrix是一个库,它通过添加延迟容忍和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止它们之间的级联故障以及提供后备选项来实现这一点,所有这些都可以提高系统的整体弹性。Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统中,许多依赖不可避免的会调用失败,超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障(服务雪崩现象),提高分布式系统的弹性原创 2021-10-14 08:55:05 · 293 阅读 · 0 评论 -
搭建一个简单的SpringCloud环境
简介SpringCloud为开发人员提供了在分布式系统中快速构建一些通用模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线)。这是一个含概多个子项目的开发工具集,集合了众多的开源框架,利用了Spring Boot开发的便利性实现了很多功能,比如服务注册、服务注册发现、负载均衡等。SpringCloud在整合过程中主要是针对Netflix开源组件的封装。SpringCloud的出现真正的简化了分布式架构的开发。NetFlix是美国的一个在线视频网站,微服务业的翘楚,是公认的大规模生产原创 2021-10-14 08:54:02 · 213 阅读 · 0 评论 -
ZooKeeper客户端常用命令
连接客户端ZK的客户端位于安装目录的bin目录下。ZK的客户端为zkCli.sh,进入bin目录后执行./zkCli.sh即可启动客户端。zkCli.sh还可以携带一些参数:./zkCli.sh –timeout 1000 –r –server ip:port-timeout 1000:设置超时时间,单位毫秒-r:设置为只读权限,不加-r则为可读可写权限-server ip:port:指定连接的ZK服务器以及端口号如果就是连接本机的ZK服务,那么可以在bin目录下直接输入:./zkCli原创 2021-10-13 11:17:11 · 2691 阅读 · 0 评论 -
Linux系统安装Zookeeper
什么是ZooKeeper?ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。它也是 Hadoop,HBase 和其他分布式框架中非常重要的组件。分布式应用程序可以基于ZooKeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。ZooKeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。安装ZooKeeper本文介绍了如原创 2021-10-12 10:29:17 · 315 阅读 · 0 评论