带你读《Apache Dubbo微服务开发从入门到精通》——三、 Annotation配置(下)

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《Apache Dubbo微服务开发从入门到精通》——三、 Annotation配置(下)

《Apache Dubbo微服务开发从入门到精通》——配置手册——三、 Annotation配置(中) https://developer.aliyun.com/article/1225162



3. 注解

 

1) @DubboService注解

 

注:

@Service注解从3.0版本开始就已经废弃,改用@DubboService,以区别于Spring的@Service注解

 

定义好Dubbo服务接口后,提供服务接口的实现逻辑,并用@DubboService注解标记,就可以实现Dubbo的服务暴露

 

image.png

 

如果要设置服务参数,@DubboService也提供了常用参数的设置方式。如果有更复杂的参数设置需求,则可以考虑使用其他设置方式

 

image.png

 

2) @DubboReference注解

 

注:

@Reference注解从3.0版本开始就已经废弃,改用@DubboReference,以区别于Spring的@Reference注解

 

image.png

 

@DubboReference注解将自动注入为Dubbo服务代理实例,使用demoService即可发起远程服务调用

 

3) @EnableDubbo注解

 

@EnableDubbo注解必须配置,否则将无法加载Dubbo注解定义的服务,@EnableDubbo可以定义在主类上

 

image.png

 

Spring Boot注解默认只会扫描main类所在的package,如果服务定义在其它package中,需要增加配置EnableDubbo(scanBasePackages= {"org.apache.dubbo.springboot.demo.provider"})


4) 扩展注解配置

 

虽然可以通过@DubboService和DubboReference调整配置参数(如下代码片段所示),但总体来说注解提供的配置项还是非常有限。在这种情况下,如果有更复杂的参数设置需求,可以使用Java Config或dubbo.properties两种方式。

 

image.png

 

5) 使用Java Config代替注解

 

Java Config是DubboService或DubboReference的替代方式,对于有复杂配置需求的服务建议使用这种方式。

 

image.png

 

6) 通过dubbo.properties补充配置

 

对于使用DubboService或DubboReference的场景,可以使用dubbo.properties作为配置补充,具体格式后文有更详细解释。

 

image.png

 

properties格式配置目前结构性不太强,比如体现在key字段冗余较多,后续会考虑提供对于yaml格式的支持。

相关文章
|
7天前
|
微服务 应用服务中间件
微服务跨域(通过网关配置进行跨域)
在单体架构中,我们通常通过SpringMVC配置类实现CORS跨域支持,设置允许的来源、请求头、方法及凭证等。然而,在微服务架构下,因浏览器首先访问网关再进行服务路由,需在网关配置跨域。对于无SpringMVC环境的网关(如使用Gateway组件),我们可在YAML文件中配置`spring.cloud.gateway.globalcors`属性,以实现全局跨域支持。
26 0
|
3天前
|
运维 监控 API
后端开发中的微服务架构:优势与挑战
【8月更文挑战第16天】在软件开发的世界中,微服务架构已经成为一种流行和强大的设计模式。它通过将应用程序分解为一组小型、独立的服务来促进敏捷开发和快速迭代。本文旨在深入探讨微服务架构的核心优势以及实施过程中可能遇到的挑战,帮助读者更好地理解这一现代软件设计方法。
|
6天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
11天前
|
存储 监控 API
微服务开发,这10个点你要知道
【8月更文挑战第8天】微服务开发十大要点:1. 服务拆分需专注单一业务功能;2. 采用高效通信协议如gRPC;3. 数据存储独立并解决跨服务一致性;4. 自动化部署流程利用Docker/Kubernetes;5. 容错机制如断路器避免连锁故障;6. 监控与日志体系确保服务健康;7. API设计清晰规范;8. 加强认证加密等安全措施;9. 配置集中管理如Spring Cloud Config;10. 服务治理实现注册与发现。关注这些关键点可提升开发质量和成功率。
|
7天前
|
消息中间件 设计模式 API
后端开发中的微服务架构设计原则
【8月更文挑战第13天】在软件工程的世界中,微服务架构已经成为一种流行的设计模式,它通过将复杂的应用程序分解成一组小的服务来简化开发和部署。本文探讨了微服务背后的设计理念,以及如何在后端开发实践中应用这些原则来构建可扩展、灵活且易于维护的系统。我们将深入讨论服务的划分、通信协议的选择、数据一致性的保障以及容错性策略的实施,旨在为后端开发人员提供一套实用的微服务架构设计指导。
18 1
|
8天前
|
负载均衡 监控 API
构建高效微服务架构:后端开发的新趋势
【7月更文挑战第43天】 在当今软件开发领域,微服务架构已成为推动技术创新与实现业务敏捷性的一股不可忽视的力量。本文旨在深入剖析构建高效微服务架构的核心原则、关键技术和实践挑战,为后端开发者提供一套行之有效的解决方案。通过精心设计的模块化服务、智能的服务发现机制、弹性的负载均衡策略以及持续的性能优化实践,我们能够确保系统的可扩展性、稳定性及快速响应市场变化的能力。文章将详细探讨如何通过容器化技术、服务网格、API网关等现代工具和框架,来构建和维护一个高效的微服务系统。
|
11天前
|
负载均衡 Dubbo 应用服务中间件
框架巨擘:Dubbo如何一统异构微服务江湖,成为开发者的超级武器!
【8月更文挑战第8天】在软件开发中,微服务架构因灵活性和可扩展性备受欢迎。面对异构微服务的挑战,Apache Dubbo作为高性能Java RPC框架脱颖而出。它具备服务注册与发现、负载均衡及容错机制等核心特性,支持多种通信协议和序列化方式,能有效连接不同技术栈的微服务。Dubbo的插件化设计保证了面向未来的扩展性,使其成为构建稳定高效分布式系统的理想选择。
25 5
|
11天前
|
消息中间件 监控 API
后端开发之巅:探索微服务架构的奥秘
在数字化浪潮中,微服务架构成为软件开发的宠儿。它以灵活性、可扩展性和独立性著称,让复杂应用的管理变得简单。本文将带你走进微服务的世界,从基础概念到设计原则,再到实际应用案例,一步步揭开微服务架构的神秘面纱。让我们一起思考甘地的话:“你必须成为你希望在世界上看到的改变。”在后端开发领域,这意味着我们需要拥抱变化,用微服务架构创造更好的软件生态。
|
12天前
|
API 数据库 开发者
探索后端开发中的微服务架构实践
本文旨在深入探讨微服务架构在后端开发领域的实际应用及其带来的变革。通过具体案例分析,我们将了解微服务如何优化复杂系统的开发与维护,并讨论实施过程中的挑战与解决策略。文章还将提供一些实用的建议,帮助开发者更好地构建和部署微服务应用。
|
3天前
|
运维 监控 数据库
后端开发中的微服务架构:优势与挑战
【8月更文挑战第17天】在软件开发领域,微服务架构已成为构建复杂系统的重要方法。它通过将应用程序拆分成小型、独立的服务,提高了系统的可维护性、可扩展性和灵活性。然而,这种架构风格也带来了新的挑战,如服务间的通信、数据一致性和运维复杂性等。本文将深入探讨微服务架构的优势和面临的主要问题,并分析如何在实际应用中平衡这些利弊。

推荐镜像

更多