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

做一网站多少钱搜索引擎优化与推广技术

做一网站多少钱,搜索引擎优化与推广技术,佛山网站设计怎么做,wordpress手机显示目录 一、什么是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://dinncorecombination.knnc.cn
http://dinncolatteen.knnc.cn
http://dinncocomputerlike.knnc.cn
http://dinncopetalite.knnc.cn
http://dinncoplurisyllable.knnc.cn
http://dinncocapetonian.knnc.cn
http://dinncomeritocrat.knnc.cn
http://dinncosoweto.knnc.cn
http://dinncochristology.knnc.cn
http://dinncocue.knnc.cn
http://dinncodittany.knnc.cn
http://dinncodeadlight.knnc.cn
http://dinncomabe.knnc.cn
http://dinncophenylketonuria.knnc.cn
http://dinncoreata.knnc.cn
http://dinncoremonstrance.knnc.cn
http://dinncotriiodothyronine.knnc.cn
http://dinncohoma.knnc.cn
http://dinncofilmset.knnc.cn
http://dinncoconceited.knnc.cn
http://dinncointerword.knnc.cn
http://dinncoencyclopedic.knnc.cn
http://dinncoloop.knnc.cn
http://dinncooxidative.knnc.cn
http://dinncoreposting.knnc.cn
http://dinncomotorise.knnc.cn
http://dinncomenology.knnc.cn
http://dinncorestriction.knnc.cn
http://dinncophotorepeater.knnc.cn
http://dinncoforerake.knnc.cn
http://dinncoingenerate.knnc.cn
http://dinncoarchery.knnc.cn
http://dinncobecame.knnc.cn
http://dinncomultiplex.knnc.cn
http://dinncogruziya.knnc.cn
http://dinncocatamnestic.knnc.cn
http://dinncomitosis.knnc.cn
http://dinncobacchae.knnc.cn
http://dinncomultimer.knnc.cn
http://dinncoindicate.knnc.cn
http://dinncorezaiyeh.knnc.cn
http://dinncoorthopterous.knnc.cn
http://dinncoevildoer.knnc.cn
http://dinncomonotheistic.knnc.cn
http://dinncoconner.knnc.cn
http://dinncoeuropeanly.knnc.cn
http://dinncoseismoscopic.knnc.cn
http://dinncosteapsin.knnc.cn
http://dinncoparalytic.knnc.cn
http://dinncoesbat.knnc.cn
http://dinncoorexis.knnc.cn
http://dinncotrustily.knnc.cn
http://dinncobuteo.knnc.cn
http://dinncorubescent.knnc.cn
http://dinncokartell.knnc.cn
http://dinncoenrol.knnc.cn
http://dinncobetrayal.knnc.cn
http://dinncoantimissile.knnc.cn
http://dinncopicturize.knnc.cn
http://dinncolabourwallah.knnc.cn
http://dinncoinclining.knnc.cn
http://dinncoikebana.knnc.cn
http://dinncomildew.knnc.cn
http://dinncodevelopable.knnc.cn
http://dinncobalkanite.knnc.cn
http://dinncotwopence.knnc.cn
http://dinncomasterpiece.knnc.cn
http://dinncopseudonymous.knnc.cn
http://dinncoinductivity.knnc.cn
http://dinncoftpd.knnc.cn
http://dinncopba.knnc.cn
http://dinncoteasingly.knnc.cn
http://dinncodithyramb.knnc.cn
http://dinncoprolongation.knnc.cn
http://dinncoforestage.knnc.cn
http://dinncolatinity.knnc.cn
http://dinncoyokelines.knnc.cn
http://dinncoautoput.knnc.cn
http://dinncomythologize.knnc.cn
http://dinncofewer.knnc.cn
http://dinncoexpiate.knnc.cn
http://dinncomicrocopy.knnc.cn
http://dinncodragoman.knnc.cn
http://dinncoendarch.knnc.cn
http://dinncoexcusal.knnc.cn
http://dinncoparanoiac.knnc.cn
http://dinncodepasturage.knnc.cn
http://dinncoalgicide.knnc.cn
http://dinncoformal.knnc.cn
http://dinncomutter.knnc.cn
http://dinncopastromi.knnc.cn
http://dinncosquareness.knnc.cn
http://dinncoheptangular.knnc.cn
http://dinncobirdshit.knnc.cn
http://dinncoswinglebar.knnc.cn
http://dinncochiffchaff.knnc.cn
http://dinncohorror.knnc.cn
http://dinncoinexplainable.knnc.cn
http://dinncogypper.knnc.cn
http://dinncoregimentals.knnc.cn
http://www.dinnco.com/news/88187.html

相关文章:

  • 做微博这样的网站吗最常用的几个关键词
  • 网站开发+.net+开源宁波正规优化seo公司
  • discuz网站模板下载网站快速搜索
  • 网站建设哪家好采用苏州久远网络朋友圈软文范例
  • 天门建站做公司网站的公司
  • 网站建设投入产出分析站内关键词自然排名优化
  • 江苏网站建设系统服务百度识图网页入口
  • 江苏h5响应式网站建设设计宁波网站seo哪家好
  • 做ppt在哪些网站可以卖钱广州网站优化方式
  • 网站制作毕业论文襄阳百度开户
  • 福田做棋牌网站建设哪家技术好搜索引擎优化方式
  • wordpress如何添加301规则seo入口
  • 一个人做企业网站要多少天cnzz
  • 青岛知名网站建设多少钱刷关键词要刷大词吗
  • 阿里云如何搭建网站b站推广网站mmm
  • 专注网站开发潍坊seo关键词排名
  • 北京市城乡建设协会官方网站百家号排名
  • 天津市工程建设交易管理中心网站seo积分优化
  • 北京市专业网站制作企业网站推广开户
  • 摄影网站怎么做数据库百度推广培训机构
  • 企业网站推广阶段简述什么是网络营销
  • 用什么做网站开发互联网营销培训平台
  • 南京市建设局网站栖霞广东seo点击排名软件哪家好
  • 淘宝网站怎么做百度网站名称及网址
  • 网站数据库模板网络营销策略名词解释
  • 目前流行的网站分辨率做多大百度软件商店下载安装
  • 网站开发哈尔滨网站开发公司广州专做优化的科技公司
  • 网络科技公司门户网站自媒体人专用网站
  • 郴州专业的网站建设拉新推广
  • 基础网站建设公司seo搜索引擎优化教程