探花交友项目

一:Dubbo前置课

1:Dubbo简介(实现服务之间的高效调用)

探花交友项目_第1张图片

探花交友项目_第2张图片

探花交友项目_第3张图片

2:入门案例

1:Dubbo的内部结构

探花交友项目_第4张图片

探花交友项目_第5张图片   探花交友项目_第6张图片

2:安装nacos和监控中心

1:启动nacos

#进入bin目录
cd bin
#启动
startup.cmd -m standalone
# 默认 用户名密码 nacos/nacos

浏览器查看:http://127.0.0.1:8848/nacos

2:安装和启动监控中心

DubboAdmin是阿里巴巴管理提供的管理控制台,可以实现服务查询,详情展示,服务测试等功能。借由DubboAdmin可以更好的帮助开发人员对服务进行管理和监控

#1、下载代码: 
git clone https://github.com/apache/dubbo-admin.git
#2、在 dubbo-admin-server/src/main/resources/application.properties中指定注册中心地址
#3、构建
mvn clean package -D maven.test.skip=true
#4、启动
mvn --projects dubbo-admin-server spring-boot:run
#或者
cd dubbo-admin-distribution/target; java -jar dubbo-admin-0.1.jar
#5、访问 http://localhost:8080
# 默认用户名密码 root/root

3:需求说明

探花交友项目_第7张图片

探花交友项目_第8张图片

4:编写Dubbo服务提供者

(1)创建user-provider 模块导入依赖

(2)配置引导类


@MapperScan("cn.itcast.user.mapper")
@SpringBootApplication
public class UserProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserProviderApplication.class, args);
    }

}

(3)代码的实现

/**
 * 暴露Dubbo服务
 * dubbo服务必须实现相应的接口
 * @DubboService
 * 第一批此bean实例化后加到本地的IOC容器
 * 第二批此服务信息注册到注册中心
 */
@DubboService
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    public User queryById(Long id) {
        return userMapper.findById(id);
    }
}

(4)配置文件

server:
  port: 18081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dubbo-demo?useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: user-provider
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: HH:mm:ss:SSS
    #配置dubbo
dubbo: 
  protocol:
    name: dubbo #服务注册访问的协议
    port: 20881 #服务对外暴露的端口,默认端口是20880   
  registry:  #注册中心的地址
    address: nacos://127.0.0.1:8848
    #dubbo注解的包扫描
  scan:   #扫描指定的包,主要是用来解析@DuubboService注解
    base-packages: cn.itcast.user.service

4:编写Dubbo服务消费者

(1)创建user-consumer模块导入依赖


   
        org.projectlombok
        lombok
   

   
        org.springframework.boot
        spring-boot-starter-web
   


   
   
        org.apache.dubbo
        dubbo-spring-boot-starter
        2.7.8
   

   
        org.apache.dubbo
        dubbo-registry-nacos
        2.7.8
   

(2)配置引导类


@SpringBootApplication
public class UserConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserConsumerApplication.class, args);
    }
}

(3)代码的实现

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {

    //引用远程服务
    @DubboReference
    private UserService userService;

    @GetMapping("/username/1")
    public String findUserName(@PathVariable("id") Long id) {
        return userService.queryUsername(id);
    }
}

(4)配置文件

server:
  port: 18080
spring:
  application:
    name: user-consumer
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: HH:mm:ss:SSS
dubbo:
  registry:
    address: nacos://127.0.0.1:8848

5:服务提供者总结

6:编写dubbo服务消费者

探花交友项目_第9张图片

7:抽取公共的接口模块

探花交友项目_第10张图片

8:序列化

探花交友项目_第11张图片

9:总结

探花交友项目_第12张图片

3:高级特性

1:启动检查

探花交友项目_第13张图片

探花交友项目_第14张图片

2:多版本支持

探花交友项目_第15张图片

探花交友项目_第16张图片

探花交友项目_第17张图片

3:超时与重试

探花交友项目_第18张图片

 探花交友项目_第19张图片

4:负载均衡策略

探花交友项目_第20张图片

@RestController
@RequestMapping("/user")
public class UserController {
    // 负载均衡 ,要求全小写
    @DubboReference(loadbalance = "roundrobin")
    private UserService userService;
}

4:SpringCloud整合Dubbo

探花交友项目_第21张图片

探花交友项目_第22张图片

 1:需求分析

探花交友项目_第23张图片探花交友项目_第24张图片

 2:代码实现01

1:接口模块改造

探花交友项目_第25张图片

2:服务提供者改造

探花交友项目_第26张图片探花交友项目_第27张图片

 2:代码实现02

探花交友项目_第28张图片

探花交友项目_第29张图片 探花交友项目_第30张图片

二:项目介绍与环境搭建

探花交友项目_第31张图片

探花交友项目_第32张图片

 1:项目介绍

探花交友项目_第33张图片

 2:技术架构

探花交友项目_第34张图片

 3:前后端分离

探花交友项目_第35张图片

探花交友项目_第36张图片

 4:安装开发工具

探花交友项目_第37张图片

探花交友项目_第38张图片

 5:项目模块介绍

探花交友项目_第39张图片

探花交友项目_第40张图片

探花交友项目_第41张图片

 6:配置依赖

探花交友项目_第42张图片

你可能感兴趣的:(rpc,zookeeper,java)