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

淄博哪家网络公司做网站好国外做网站公司能赚钱

淄博哪家网络公司做网站好,国外做网站公司能赚钱,龙岩市建设部网站,邯郸有几个区目录 一、什么是Dubbo? 二、SpringBoot整合Dubbo 1、父工程引入依赖 2、各个Dubbo服务子模块引入依赖 3、服务提供者 (1)启动类添加注解EnableDubbo (2)服务类添加注解DubboService (3)配置文件…

       

目录

一、什么是Dubbo?

二、SpringBoot整合Dubbo 

1、父工程引入依赖

2、各个Dubbo服务子模块引入依赖

3、服务提供者 

(1)启动类添加注解@EnableDubbo

(2)服务类添加注解@DubboService

(3)配置文件配置dubbo的信息

4、服务的消费者 

(1)启动类添加注解@EnableDubbo

(2)接口层通过注解@DubboReference将远程服务注入

(3)配置文件配置dubbo的信息


        Spring Boot是一款用于简化Java应用程序开发的框架,它提供了快速构建、易于配置和扩展的特性。Dubbo是一个高性能、轻量级的开源RPC框架,它支持多种传输协议和序列化方式,并可以实现服务之间的远程调用。本文将介绍如何使用Spring Boot整合Dubbo,快速搭建一个简单的分布式应用。

一、什么是Dubbo?

       Apache Dubbo是一款RPC服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang等多语言SDK实现。使用Dubbo开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用Dubbo提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。

       在云原生时代,Dubbo 相继衍生出了 Dubbo3、Proxyless Mesh 等架构与解决方案,在易用性、超大规模微服务实践、云原生基础设施适配、安全性等几大方向上进行了全面升级。

 

二、SpringBoot整合Dubbo 

1、父工程引入依赖

<!-- Dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-bom</artifactId>
            <version>${dubbo.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <version>${dubbo.version}</version>
            <type>pom</type>
        </dependency>

2、各个Dubbo服务子模块引入依赖

  <!-- dubbo -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>3.0.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-zookeeper-curator5</artifactId>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-reload4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
            <version>3.0.9</version>
        </dependency>

3、服务提供者 
(1)启动类添加注解@EnableDubbo

        @EnableDubbo是Dubbo框架中的一个重要注解,主要用于激活Dubbo的自动配置和启动类上,开启Dubbo的支持。

@SpringBootApplication
@EnableDubbo
public class ProviderApp {public static void main(String[] args) {SpringApplication.run(ProviderApp.class, args);System.out.println("Hello World!");}
}
(2)服务类添加注解@DubboService

  @DubboService是Dubbo框架中用于服务提供方的一个重要注解。它的主要作用是将服务接口的实现类注册到注册中心,使其能够被服务消费方发现和调用。@DubboService支持设置当前服务的版本号、重试次数、超时时间、负载均衡策略等信息。如下,就是设置了该服务的版本为1.0.0,负载均衡策略为轮询,重试次数为3,服务调用的超时时间为3000毫秒。Dubbo的负载均衡除了内置了轮询策略之外,还内置了如下一些常用的负载均衡策略:

  • 加权随机(random)

    默认算法,默认权重相同。所以,在权重相同的情况下,会在在服务提供者中随机选择一个来处理请求。该策略的优点是实现简单,能够较好地平均分配请求。缺点是在服务提供者数量较多时,可能无法保证每个提供者分配到的请求量完全均匀。

  • 最少活跃优先 + 加权随机(leastactive)

     活跃数是指每个服务提供者都有一个“活跃数”,表示当前正在处理的请求数量。当一个请求到达时,活跃数加一,请求处理完毕时,活跃数减一。最少活跃优先便是指在分配新请求时,优先选择活跃数最小的服务提供者。这样,性能较好的服务提供者(处理速度快,活跃数下降快)可以处理更多请求,而性能较差的提供者则自然接收较少请求。而当在选出活跃数最少的提供者后,如果存在多个活跃数相同的提供者,则根据它们的权重进行随机选择。权重越大,被选中的概率就越高。该策略的核心思想其实就是能者多劳的思想。该策略的优点是能够有效避免将请求发送到负载较高或响应较慢的服务提供者上。缺点是需要实时监控每个提供者的活跃请求数,增加了一定的系统开销

  • 最短响应优先 + 加权随机(shortestresponse)

       该策略从多个服务提供者中选择出响应时间最短的一个或多个来处理请求。当存在多个响应时间相同的服务提供者时,根据它们的权重进行加权随机选择。该策略的优点是能够灵活地应对服务提供者的性能变化,并优化请求处理速度。缺点是实现较为复杂,需要实时监控服务提供者的响应时间和计算权重

  • 一致性哈希(consistenthash)

       根据某个一致性哈希算法,确定请求应该发送到哪个服务提供者。该策略的优点是能够在服务提供者动态变更时,最大限度地减少对已分配请求的影响。缺点是算法较为复杂,实现和维护成本较高


@DubboService(version = "1.0.0", loadbalance = "roundrobin", retries = 3, timeout = 3000)
public class TestDubboServiceImpl implements TestDubboService {@Overridepublic String sayHello(String name) {return "hello," + name;}@Overridepublic ZhuoYe getZuoYe() {ZhuoYe zuoYe = new ZhuoYe();zuoYe.setName("zhuoye-1").setDescription("帅呆了!!!");return zuoYe;}
}
(3)配置文件配置dubbo的信息

dubbo:
  application:
    name: dubbo-springboot-demo-provider  #当前应用名称
  protocol:
    name: dubbo   #协议名称
    port: -1   #配置为-1,则会分配一个没有被占用的端口
  registry:
    address: zookeeper://192.168.190.129:2181 #注册中心地址,这里选择zookeeper作为注册中心,也是官方推荐的
    timeout: 10000  #连接到注册中心的超时时间10S,时间太多可能很容易注册失败,默认5s

更多的配置可以参考官方文档 。

4、服务的消费者 
(1)启动类添加注解@EnableDubbo
@SpringBootApplication
@EnableDubbo
public class ProviderApp {public static void main(String[] args) {SpringApplication.run(ProviderApp.class, args);System.out.println("Hello World!");}
}
(2)接口层通过注解@DubboReference将远程服务注入

   @DubboReference 是 Dubbo 提供的一个用于引用远程服务的注解,它通常用在服务消费者的实现类中,用于标记一个远程服务的引用。这个注解会将指定的远程服务连接到本地的某个接口上,使得你可以像调用本地接口一样调用远程服务。@DubboReferencee也支持设置当前服务的版本号、重试次数、超时时间、负载均衡策略等信息。而且@DubboReference注解中设置的属性会覆盖 @DubboService注解中的相应属性。也就是说当我们在@DubboReference@DubboService中都设置了相同的属性,那么@DubboReference中的属性值将优先生效。通过覆盖属性,可以根据不同的场景或需求灵活地调整服务引用的配置。例如,在开发环境中可能需要较短的超时时间以快速检测问题,而在生产环境中可能需要更长的超时时间以确保稳定性。

@RestController
@RequestMapping("dubbo")
public class TestDubboController {@DubboReference(version = "1.0.0",timeout = 1000,loadbalance="leastactive",retries = 2)private TestDubboService testDubboService;@GetMapping("hello")public String hello(String name) {return testDubboService.sayHello(name);}@GetMapping("getZhuoye")public ZhuoYe getZhuoye() {return testDubboService.getZuoYe();}
}
(3)配置文件配置dubbo的信息
dubbo:application:name: dubbo-springboot-demo-comsumerprotocol:name: dubboport: -1registry:address: zookeeper://192.168.190.129:2181timeout: 10000

http://www.hyszgw.com/news/39944.html

相关文章:

  • 建设一个网站需要多少时间做跨境电商要什么费用
  • 如何做属于自己的网站常用的网页制作工具有什么
  • 中考复读学校网站怎么做长乐市住房和城乡建设局网站
  • 网站开发环境的配置wordpress不能发文章_只能在标题内写字
  • 网站建设毕业设计客户跟进系统 免费
  • asp电影网站源码深圳最好的网站建设
  • 开发小型门户网站的方法 步骤卫生监督 网站建设方案
  • 郑州做网站制作的公司谷歌引擎搜索
  • 做网站的是怎么赚钱嘉定网站设计公司
  • 网站结构怎么做适合优化潍坊网站关键字优化
  • 保定网络公司网站网络营销方式使用情况数据
  • 云南省建设工程招标投标行业协会网站刷粉网站开发
  • 网络广告是什么关键词优化有哪些作用
  • 提交收录网站深圳市seo推广联系方式
  • 学到什么程度可以做网站二维码图片生成器在线制作
  • spark怎么做网站数据库wordpress访问过的页码不变色
  • 大型网站的设计关于asp_sql网站开发的书籍
  • 网站建设服务有哪些百度域名书写
  • 汕头网站建设模板重庆网站建设学习
  • 深圳住房和建设局网站在哪个网云畅网站建设后台
  • 小说阅读网站开发源码用wordpress搭建完整网站教程
  • 江苏城乡建设学院网站手游传奇新开服网站
  • 单页网站多钱营销比较成功的品牌
  • 淘宝的网站架构嘉兴网站排名优化报价
  • 济南网站搭建公司麻涌东莞网站建设
  • 影视网站乐清市网站建设
  • 网站建设受众抖音广告投放收费标准
  • 昆明网站建设哪家wordpress 应用模板
  • 延边网站建设公司简单的电商网站开发
  • wordpress如何使用安装插件江门网站优化公司