# Dubbo

Dubbo官网 (opens new window)

Dubbo GitHub地址 (opens new window)

Dubbo 使用版本对应关系 (opens new window)

# 介绍

开源的高性能、轻量级的分布式服务框架

# 使用

版本:2.7.13

项目:lx-alibaba

#项目外层pom
			<dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.dubbo</groupId>
                <artifactId>dubbo-registry-nacos</artifactId>
                <version>${dubbo.version}</version>
            </dependency>


            <!-- 解决dubbo2.7.13jar包冲突问题-->
            <dependency>
                <groupId>com.alibaba.spring</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>1.0.11</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.3.5</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>5.3.16</version>
            </dependency>

#provider和consumer的pom
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>${dubbo.version}</version>
        </dependency>
        <!-- Dubbo Spring Boot Starter -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>${dubbo.version}</version>
        </dependency>
        <!-- Dubbo Registry Nacos -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-nacos</artifactId>
            <version>${dubbo.version}</version>
        </dependency>


#provider yml

dubbo:
  application:
    name: nacos-provider
    qos-enable: false
    owner: OAK,LSB
  scan:
    base-packages: com.meteorplan.service
  registry:
    address: 127.0.0.1:8848
    protocol: nacos
    file: ${user.home}/dubbo-cache/${dubbo.application.name}/dubbo.cache
  metadata-report:
    address: nacos://127.0.0.1:8848
  protocol:
    name: dubbo
    port: 20080
  service:
    version: 1.0.0
    user:
      group: nacos-provider
  config:
    multiple: true
  consumer:
    check: true
    loadbalance: leastactive
    version: 1.0.0
    retries: 2


#consumer yml

dubbo:
  application:
    name: nacos-consumer-feign
    qos-enable: false
    owner: OAK,LSB
  scan:
    base-packages: com.meteorplan.service
  registry:
    address: 127.0.0.1:8848
    protocol: nacos
#    file: ${user.home}/dubbo-cache/${dubbo.application.name}/dubbo.cache
  metadata-report:
    address: nacos://127.0.0.1:8848
  protocol:
    name: dubbo
    port: 20083
  config:
    multiple: true
  consumer:
    check: true
    loadbalance: leastactive
    version: 1.0.0
    retries: 2
    ingots:
      group: ingots-center
      version: 1.0.0


#ZooKeeper使用@Service、@Reference注解,Nacos使用@DubboService、@DubboReference注解

#provider service impl
@DubboService(version = "${dubbo.service.version}", group = "${dubbo.service.user.group}")
public class UserServiceImpl implements UserServcie {

    @Override
    public MemberDto getUserById(String memberUuid) {
        MemberDto memberDto = new MemberDto();
        memberDto.setMemberUuid("11");
        memberDto.setName("小刘");
        return memberDto;
    }

}

#consumer 
@DubboReference(version = "${dubbo.consumer.version}", group = "nacos-provider", loadbalance = "${dubbo.consumer.loadbalance}", timeout = 3000)
private UserServcie userServcie;

#测试dubbo
http://localhost:9092/restful/user/getUserList

# Dubbo Admin

Dubbo Admin GitHub地址 (opens new window)

Dubbo和Dubbo Admin版本说明:https://cn.dubbo.apache.org/zh-cn/blog/2019/01/07/新版-dubbo-admin-介绍/

#配置nacos信息 dubbo-admin-server服务 -> application-dev.properties
admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP
admin.config-center=nacos://127.0.0.1:8848?group=DEFAULT_GROUP
admin.metadata-report.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP

#访问
http://127.0.0.1:38080
账号:root
密码:root

image-20240708112619517