文章目录
《4.3.1 dubbo实践之服务化思路分析》
参考如何使用沙箱环境一文,创建了支付宝的沙箱账号,可在支付宝开放平台查看具体账号
《4.3.2 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分:
- 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整体结构:
skywalking有用到java agent:
- 类似产品:
《4.3.8-dubbo架构实战之配置中心》
- 推荐配置中心:Nacos, Apollo
- 14 20 Nacos的动态加载:
我的问题:dubbo.registry.address注册中心地址等dubbo的配置在zk中,其它在nacos。为什么要用两个配置中心?
回答:dubbo新版本的配置中心,还没适配nacos
《4.3.9-dubbo系统维护之路由调整》
- 4 6 标签路由可用于实现流量隔离,灰度发布等功能
《4.3.10-dubbo系统维护之优雅停机》
官中:Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果用户使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才会执行。
《dubbo更多实践+答疑直播》
-
11分 元数据中心:为了减少数据传输量
-
19分 注册中心,配置中心,元数据中心:
-
26分 Dubbo为服务消费者提供代理,为服务提供者提供门面
-
33分 使用Dubbo的建议:
-
39分 Dubbo vs SpringCloud:
-
47分 spi。Dubbo spi官中有文档