《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》

文章目录

  • 《4.3.1 dubbo实践之服务化思路分析》
  • 《4.3.2 dubbo实践之系统设计与重构》
  • 《4.3.3-dubbo实践之开发调试》
  • 《4.3.4-dubbo架构实战之流控降级》
  • 《4.3.5-dubbo架构实战之Hystrix集成》
  • 《4.3.6-dubbo架构实战之Sentinel》
  • 《4.3.7-dubbo架构实战之链路追踪》
  • 《4.3.8-dubbo架构实战之配置中心》
  • 《4.3.9-dubbo系统维护之路由调整》
  • 《4.3.10-dubbo系统维护之优雅停机》
  • 《dubbo更多实践+答疑直播》

《4.3.1 dubbo实践之服务化思路分析》

参考如何使用沙箱环境一文,创建了支付宝的沙箱账号,可在支付宝开放平台查看具体账号

《4.3.2 dubbo实践之系统设计与重构》

  • Dubbo官中上的服务化最佳实践

  • 按https://nacos.io/zh-cn/docs/quick-start.html下载、安装nacos后,用地址http://ip:8848/nacos/#/login可打开nacos的web控制台,默认用户名与密码皆为nacos
    参考官中的Dubbo 融合 Nacos 成为注册中心,设置dubbo.registry.address为nacos://ip:8848?namespace=abd78ed2-7fcc-488d-882d-012025f41999,如果在控制台设置了命名空间的话。

《4.3.3-dubbo实践之开发调试》

  • 5 23 dubbo-admin安装,以及如何在web上使用 dubbo-admin测试服务。http服务可通过swagger测试?
  • 21分 短暂启动本地服务,为了避免给其他人的测试造成影响,可以设置不注册服务(即不把本地服务向注册中心注册)
  • 24 10 dubbo reference通过指定url,直接连接服务提供者
  • 31分 配置中心 dubbo:config-center:address。其原理为zookeeper watch

《4.3.4-dubbo架构实战之流控降级》

  • 15 40 Dubbo中的mock机制(本地伪装):通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过 Mock 数据返回授权失败。

《4.3.5-dubbo架构实战之Hystrix集成》

  • 11分:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第1张图片
  • 14分:
    // 配置项 - HystrixCommandProperties、HystrixThreadPoolProperties
    @HystrixCommand(
            threadPoolKey = "mallUserService.getUserDetailById",
            threadPoolProperties = {
                    @HystrixProperty(name = "coreSize", value = "5"),
                    @HystrixProperty(name = "maxQueueSize", value = "10"),
                    @HystrixProperty(name = "queueSizeRejectionThreshold", value = "5")
            },
            commandKey = "mallUserService.getUserDetailById",
            commandProperties = {
                    @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "2000"),
                    @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "10"), // 达到条件
                    @HystrixProperty(name = "circuitBreaker.errorThresholdPercentage", value = "50"), // 异常比例 - 触发熔断阈值
                    @HystrixProperty(name = "circuitBreaker.sleepWindowInMilliseconds", value = "10000") // 熔断持续时间 - 尝试
            }
            , fallbackMethod = "back")
    public MallUser doGetUserDetailById(Long id) {
        return mallUserService.getUserDetailById(id); // 真正发起RPC调用的
    }
    
    public MallUser back(Long id, Throwable throwable) {
        MallUser user = new MallUser();
        user.setNickName("hystrix降级的结果,降级原因:" + throwable.getMessage());
        return user;
    }
  • 32 20 可利用spring AOP简化配置

《4.3.6-dubbo架构实战之Sentinel》

  • 6 55 Sentinel不仅要修改服务消费者的配置,也要修改服务提供者的配置
  • 25 20 Sentinel也可对服务提供者限流

《4.3.7-dubbo架构实战之链路追踪》

  • skywalking整体结构:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第2张图片
    skywalking有用到java agent:
    在这里插入图片描述
  • 类似产品:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第3张图片

《4.3.8-dubbo架构实战之配置中心》

  • 推荐配置中心:Nacos, Apollo
  • 14 20 Nacos的动态加载:
    在这里插入图片描述
    我的问题:dubbo.registry.address注册中心地址等dubbo的配置在zk中,其它在nacos。为什么要用两个配置中心?
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第4张图片
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第5张图片
    回答:dubbo新版本的配置中心,还没适配nacos

《4.3.9-dubbo系统维护之路由调整》

  • 4 6 标签路由可用于实现流量隔离,灰度发布等功能

《4.3.10-dubbo系统维护之优雅停机》

官中:Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果用户使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才会执行。

《dubbo更多实践+答疑直播》

  • 11分 元数据中心:为了减少数据传输量

  • 19分 注册中心,配置中心,元数据中心:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第6张图片

  • 26分 Dubbo为服务消费者提供代理,为服务提供者提供门面

  • 33分 使用Dubbo的建议:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第7张图片

  • 39分 Dubbo vs SpringCloud:
    《专题四 服务化改造》之《第四章 服务化集群管理Dubbo高阶实战》之《第三节 Dubbo项目实践》_第8张图片

  • 47分 spi。Dubbo spi官中有文档

你可能感兴趣的:(#,dubbo/grpc,wyy)