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

古镇网站建设哪家好深圳百度推广代理商

古镇网站建设哪家好,深圳百度推广代理商,东莞市建设,房产律师网站模板生成过程视频: 如何使用ChatGPT快速生成代码 (qq.com) 如何使用ChatGPT快速生成SpringBoot集成Dubbo的完整案例 1、Dubbo最新版本有哪些新特性 Dubbo最新版本是2.7.9,于2021年6月发布。以下是该版本的一些新特性: 1)增加Dubbo-go…

生成过程视频: 如何使用ChatGPT快速生成代码 (qq.com)

如何使用ChatGPT快速生成SpringBoot集成Dubbo的完整案例

1、Dubbo最新版本有哪些新特性

Dubbo最新版本是2.7.9,于2021年6月发布。以下是该版本的一些新特性:

1)增加Dubbo-goDubbo-rust两个新的实现,提供更多语言的支持。

2)引入Dubbo Mesh,可以基于IstioKubernetes等服务网格框架,自动实现服务的流量管理、熔断降级等功能。

3)增加Generic JSON协议,支持基于HTTP/JSON的调用。

4)支持Dubbo IDL,可通过定义IDL文件生成服务接口的Java和Go代码,方便服务端和客户端的开发。

5)增加GenericService通用服务接口,可以跨语言调用,且不需要提前定义接口。

6)增加Spring Cloud集成,可以通过Spring CloudService Registry实现服务的注册与发现。

7)提升性能,优化了序列化和反序列化过程,同时优化了服务端和客户端的线程模型。

8) 改进了部分文档和示例。

总的来说,Dubbo 2.7.9 在多语言支持、服务网格、协议支持、IDL、性能优化等方面都有不少新特性。

2、Dubbo执行流程图

                       ┌───────────────┐     │  Dubbo 服务消费者 │     └───────────────┘     │             │             ▼             ┌───────────────┐     │     代理类        │     └───────────────┘     │             │             ▼             ┌───────────────┐     │     过滤器链     │     └───────────────┘     │             │             ▼             ┌───────────────┐     │      集群路由      │     └───────────────┘     │             │             ▼             ┌───────────────┐     │   负载均衡选择器   │     └───────────────┘     │             │             ▼             ┌───────────────┐     │     传输层         │     └───────────────┘     │             │             ▼             ┌───────────────┐     │    协议层         │     └───────────────┘     │             │             ▼             ┌───────────────┐     │  服务提供者    │     └───────────────┘

具体的流程如下:

1)服务提供者启动时,会向Dubbo注册中心注册自己提供的服务以及服务的地址信息。

2)服务消费者启动时,会向Dubbo注册中心订阅需要消费的服务以及服务地址信息。

3)服务消费者通过Dubbo代理类调用Dubbo服务,Dubbo代理类会在本地缓存中查找可用的Dubbo服务提供者。

4)如果本地缓存中没有可用的Dubbo服务提供者,Dubbo代理类会向Dubbo注册中心查询可用的Dubbo服务提供者。

5)Dubbo注册中心返回可用的Dubbo服务提供者地址信息,Dubbo代理类根据负载均衡策略选择一个Dubbo服务提供者。

6)Dubbo代理类将请求发送到Dubbo服务提供者。

7)Dubbo服务提供者接收到请求后,根据请求的服务名、方法名等信息,调用相应的Java方法,得到结果。

8)Dubbo服务提供者将结果返回给Dubbo代理类。

9)Dubbo代理类将结果返回给服务消费者。

需要注意的是,Dubbo还提供了多种配置方式和扩展机制,使得Dubbo的执行流程可以根据具体的业务场景进行灵活定制。例如,Dubbo可以支持多种注册中心、协议、序列化方式等,并且提供了众多的过滤器和扩展点,方便用户进行二次开发和定制。

3、SpringBoot集成Dubbo的完整实例

下面是一个SpringBoot集成Dubbo的完整实例。本例子使用Dubbo 2.7.9版本和SpringBoot 2.5.0版本。

第一步:在pom.xml中添加Dubbo和SpringBoot的依赖。在dependencies中添加以下内容:

<dependencies><!-- Dubbo --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.9</version></dependency><!-- SpringBoot --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.5.0</version></dependency>
</dependencies>

第二步:在application.properties中添加Dubbo的配置。

#Dubbo
dubbo.application.name=example-provider
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880

第三步:创建一个接口,定义我们的Dubbo服务。

public interface ExampleService {String sayHello(String name);
}

第四步:创建一个实现类,实现ExampleService接口。

@Service
public class ExampleServiceImpl implements ExampleService {@Overridepublic String sayHello(String name) {return "Hello " + name;}
}

第五步:在Dubbo配置类中,将ExampleServiceImpl暴露为Dubbo服务。

@Configuration
public class DubboConfig {@Beanpublic ApplicationConfig applicationConfig() {ApplicationConfig applicationConfig = new ApplicationConfig();applicationConfig.setName("example-provider");return applicationConfig;}@Beanpublic RegistryConfig registryConfig() {RegistryConfig registryConfig = new RegistryConfig();registryConfig.setAddress("zookeeper://127.0.0.1:2181");return registryConfig;}@Beanpublic ProtocolConfig protocolConfig() {ProtocolConfig protocolConfig = new ProtocolConfig();protocolConfig.setName("dubbo");protocolConfig.setPort(20880);return protocolConfig;}@Beanpublic ServiceConfig<ExampleService> serviceConfig(ExampleService exampleService) {ServiceConfig<ExampleService> serviceConfig = new ServiceConfig<>();serviceConfig.setInterface(ExampleService.class);serviceConfig.setRef(exampleService);serviceConfig.setVersion("1.0.0");serviceConfig.setTimeout(5000);return serviceConfig;}
}

第六步:创建一个RestController,将Dubbo服务注入进去。

@RestController
public class ExampleController {@Reference(version = "1.0.0")private ExampleService exampleService;@GetMapping("/hello/{name}")public String hello(@PathVariable("name") String name) {return exampleService.sayHello(name);}
}

第七步:启动SpringBoot应用程序,运行Dubbo服务提供者。

第八步:测试Dubbo服务。使用curl或Postman等工具访问http://localhost:8080/hello/yourname ,看到返回的字符串是"Hello yourname"。

http://www.ritt.cn/news/29356.html

相关文章:

  • 垂直网站建设方案域名注册查询阿里云
  • python做网站功能测试淘宝优秀软文范例100字
  • 做关于什么样的网站好企业网站建站模板
  • 网站管理系统后台百度竞价推广怎么做效果好
  • 成都金融网站建设公司排名爱网站关键词查询工具长尾
  • 室内设计和网站建设哪个前景好360优化大师安卓下载
  • 长春火车站需要核酸检测报告吗seo关键词快速获得排名
  • 深圳网站设计有名 乐云践新网站开发费用
  • mac卸载电脑上的wordpressseo怎么优化
  • uniapp做网站腾讯广告推广平台入口
  • 一套完整的工程施工流程网站seo优化是什么意思
  • 合肥网站建设公司还有不找索引擎seo
  • 长葛网站建设seo技术大师
  • 工商天眼查官网查企业广州seo和网络推广
  • b2b网站网址外贸怎么找客户资源
  • 做网站软件是什么行业怎么优化一个网站
  • 网站建设的流程图市场营销公司排名
  • 网站开发设计进度表今天最新新闻事件报道
  • 汉中市疫情防控指挥部山东网络推广优化排名
  • 免费网站商城建设四种营销模式
  • 花钱做网站注意什么篮网最新消息
  • 做网站拿来卖武汉seo网站推广培训
  • 网站运营与管理的一个目的是企业管理培训
  • 怎么做网站链接新闻源软文发布平台
  • 天津的公司能在北京做网站备案吗互联网广告推广是做什么的
  • 泸州住房和城乡建设厅网站什么叫做网络营销
  • 工业设计的网站搜狗seo查询
  • 中学网站域名用什么用他达拉非的副作用和危害
  • 自动做网站郑州网站建设制作公司
  • 网站会员系统方案百度推广多少钱一个月