当前位置: 首页 > news >正文

教你做兼职的网站wordpress点击图片暗箱

教你做兼职的网站,wordpress点击图片暗箱,岳阳网站建设公司,为wordpress首页添加关键词ok,在上篇文章中我们讲了在Spring cloud中使用Zuul网关,这篇文章我们将Spring Cloud的五大核心组件的Ribbon和Feign分别创建一个微服务模块。 题外话,本篇博客就是配置子模块,或者说是微服务,然后将微服务正式启动之前…

ok,在上篇文章中我们讲了在Spring cloud中使用Zuul网关,这篇文章我们将Spring Cloud的五大核心组件的Ribbon和Feign分别创建一个微服务模块。

题外话,本篇博客就是配置子模块,或者说是微服务,然后将微服务正式启动之前,将所有的服务注册到Eureka注册中心去,方便我们查看我们的微服务是否正式启动,文章更加偏向刚刚接触Spring Cloud的开发者,如果你对这些步骤已经很熟练了,实际上这篇博客对你来说,就是一篇水文罢了。我之所以写这篇,是考虑到刚刚学习的开发者,或者说让我自己的基础更加稳健,毕竟从0-1总要一个过程吧,等将最后一个组件完成之后,我将采用这个基本搭建好的框架,进行Spring Cloud中运行案例了,也就是正式使用Spring Cloud的组件了,现在只是开胃菜罢了。如果你对本系列文章感兴趣,不妨点个关注或者赞支持一下博主,码字不易,鼓励一下博主。

在我们正式开始搭建之前,我们先了解一下这两个组件是啥,可以用来干啥?

Ribbon

Ribbon是Netflix开源的一个客户端负载均衡器,它可以将请求分发到多个服务实例中,以提高系统的可用性和性能。Ribbon可以与各种服务发现机制集成,如Eureka、Consul等,通过定期从服务注册中心获取服务实例列表,并根据一定的负载均衡策略选择目标服务实例。Ribbon还提供了丰富的配置选项,可以根据实际需求进行定制。

例子:假设有一个微服务架构的电影推荐系统,其中包含多个电影信息服务的实例。通过使用Ribbon,可以实现对这些实例的负载均衡。当用户请求电影信息时,Ribbon会根据配置的负载均衡策略选择一个可用的电影信息服务实例,并将请求转发给它。这样可以提高系统的可用性和性能。

Ribbon的优点包括:

灵活性:Ribbon提供了丰富的配置选项,可以根据实际需求进行定制,如负载均衡策略、超时设置等。
可扩展性:Ribbon可以与各种服务发现机制集成,适用于不同的微服务架构。
高可用性:Ribbon可以自动检测不可用的服务实例,并剔除它们,确保请求只发送到可用的实例上。

缺点:

配置复杂:R的ibbon配置相对复杂,需要了解和理解各种负载均衡策略和配置选项。
客户端依赖:Ribbon需要作为客户端的一部分进行集成,增加了客户端的复杂性。

Feign

Feign是另一个Netflix开源的组件,它简化了基于HTTP的服务间通信的开发。Feign通过定义接口的方式,让开发者可以像调用本地方法一样调用远程服务Feign会根据接口定义自动生成请求的URL、参数、请求方法等信息,并通过集成Ribbon实现负载均衡。Feign还支持请求和响应的编解码,可以方便地处理各种数据格式。

例子: 假设有一个微服务架构的电商系统,其中包含多个服务,如用户服务、订单服务等。通过使用Feign,可以方便地调用其他服务的接口。例如,在用户服务中需要调用订单服务来创建订单。通过定义一个Feign接口,可以直接调用订单服务的创建订单接口,Feign会自动处理请求的URL、参数等,并通过Ribbon实现负载均衡,将请求转发给可用的订单服务实例。

Feign的优点包括:

简化开发:Feign通过接口定义自动生成请求的URL、参数、请求方法等信息,减少了手动编写HTTP请求的工作量。
集成负载均衡:Feign集成了Ribbon,可以通过配置实现负载均衡,自动选择可用的服务实例。
请求和响应的编解码:Feign支持请求和响应的编解码,可以方便地处理各种数据格式。

Feign存在的一些缺点:

功能有限:Feign主要用于简化HTTP请求,对于复杂的服务调用场景可能不够灵活。
学习成本:虽然Feign简化了开发过程,但需要了解和理解其使用方式和配置选项。

ok,对以上知识点进行相关了解后,咱们开始分别搭建这两个模块的微服务。

我搭建好了的模块如下图所示:

在这里插入图片描述
这篇博客我就不在一步一步带你去创建模块了,如果还是不知道怎么搭建父子模块的请参照上一篇博客。

eureka-client

目录结构
在这里插入图片描述

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springCloud</artifactId><groupId>com.miaow</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>eureka-client</artifactId><description>eureka客户端使用</description><name>eureka-client</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement></project>

application.yml

server:port: 3124spring:application:name: eureka-client# eureka客户端注册到Eureka注册中心,切记需要启动eureka服务
eureka:client:service-url:defaultZone: http://localhost:1000/eureka

EurekaClientApplication

@SpringBootApplication
@EnableDiscoveryClient
public class EurekaClientApplication
{public static void main( String[] args ){SpringApplication.run(EurekaClientApplication.class);}
}

DcController

@RestController
public class DcController {@AutowiredDiscoveryClient discoveryClient;@GetMapping("/dc")public String dc() {String services = "Services: " + discoveryClient.getServices();System.out.println(services);return services;}
}

以下这图是我启动所有服务并注册到注册中心的。仅供参考。
在这里插入图片描述

Ribbon

申明,本模块目前只做了引入依赖,并未实际使用Ribbon,只是创建了初步微服务,并实现将服务注册到Eureka中去。在后续将一步一步使用Ribbon的。敬请期待!!!
目录结构
在这里插入图片描述

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springCloud</artifactId><groupId>com.miaow</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>ribbon</artifactId><name>Ribbon</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--添加eureka客户端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></dependency></dependencies></project>

application.yml

server:port: 2381
spring:application:name: ribbon-demo# eureka客户端注册到Eureka注册中心,切记需要启动eureka服务
eureka:client:service-url:defaultZone: http://localhost:1000/eureka

RibbonApplication

@SpringBootApplication
@EnableEurekaClient
public class RibbonApplication {public static void main(String[] args) {SpringApplication.run(RibbonApplication.class);}
}

Feign

目录结构:
在这里插入图片描述

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springCloud</artifactId><groupId>com.miaow</groupId><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>feign</artifactId><name>feign</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--添加eureka客户端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies>
</project>

application.yml

server:port: 2380
spring:application:name: feign-demo# eureka客户端注册到Eureka注册中心,切记需要启动eureka服务
eureka:client:service-url:defaultZone: http://localhost:1000/eureka

FeignApplication

@SpringBootApplication
@EnableEurekaClient
public class FeignApplication
{public static void main( String[] args ){SpringApplication.run(FeignApplication.class);}
}

将服务启动:
在这里插入图片描述

我们进入Eureka 服务管理界面查看已注册的服务:

http://localhost:1000/

在这里插入图片描述
通过上图,我们发现,我们启动的服务和端口号分别注册成功了,至此,我们的Ribbon和Feign模块就搭建好了,并且服务已经注册到注册中心去了。

至此,我们已经搭建了四个Spring Cloud的核心组件了。

  • Eureka:Eureka是一个服务注册和发现组件,它提供了服务注册、服务发现和服务治理的功能。通过Eureka,微服务可以自动注册和发现其他微服务,从而实现服务之间的通信和协作。
  • Zuul:Zuul是一个API网关组件,它可以与Eureka集成,提供了对微服务的路由、负载均衡、请求过滤和请求转发的功能。通过Zuul,开发人员可以将所有的微服务请求都通过一个入口点进行管理和保护。
  • Ribbon:Ribbon是一个客户端负载均衡组件,它可以与Eureka集成,实现对微服务实例的负载均衡和故障转移。通过Ribbon,微服务可以自动选择可用的实例,并将请求分发到这些实例上。
  • Feign:Feign是一个声明式的HTTP客户端组件,它可以与Ribbon和Eureka集成,简化微服务之间的HTTP通信。通过Feign,开发人员可以使用注解来定义HTTP请求和响应的格式,从而实现对微服务之间的调用。
  • Hystrix:Hystrix是一个容错和断路器组件,它可以与Ribbon和Feign集成,提供了对微服务的容错和故障保护的功能。通过Hystrix,开发人员可以定义断路器的行为,从而实现对微服务的故障隔离和恢复。
http://www.sczhlp.com/news/60575/

相关文章:

  • 甘肃省建设社厅网站做网站的工具 论坛
  • 如花建站网站建设和优化的营销话术
  • 电商网站有那些单页面网站怎么做
  • 网站是怎么赢利的v6厂高仿手表网站
  • 深圳市网站建设哪家好百度百家号注册
  • 网站怎么做自营销免费注册网站域名可以用吗
  • 网站开发设计课程seo就业哪家好
  • 免费网站友情链接wordpress打包
  • 网站数据库建设access班级品牌建设
  • 做网站税率高端室内设计工作室
  • 南京做网站企业做网站版权怎么写
  • 湖南网站建设公司 找磐石网络一流福建省建设厅网站信用评分
  • 学校网站管理方案哈尔滨专业做网站
  • 安徽水安建设集团网站优化关键词排名公司
  • 做网站的企业广州百货商城网站建设
  • html网站建设购物案例重庆信息发布平台
  • 济南地产行业网站开发公司两个网站如何都备案
  • 怀化网站优化加徽信xiala5效果好如何做网站授权网址
  • 网站设计免费模板非交互式网站
  • 微信群 网站建设高端公司网站设计
  • 手机网站自助建站源码如何做打码网站
  • 做网站使用字体图标成都网站设计优选柚v米科技
  • 有什么网站可以做代理的京东导购网站开发
  • 推推蛙网站建设企业网站用什么做二次开发最快
  • 博州住房和城乡建设部网站app开发需要哪些知识
  • 石家庄手机网站制作网站换空间的流程
  • 网站 维护 协议天河岗顶棠下上社网站建设公司
  • 二手交易网站开发的国外做鞋子的网站
  • 网站建设多少钱实惠湘潭磐石网络如何用百度云文件做网站
  • 上海策朋网站设计公司网上买保险有哪些平台