Skip to content

Commit 80821ac

Browse files
committed
the desc of update
1 parent c02dc1b commit 80821ac

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

NewVersion.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# new version
2+
新版本相比于旧版本Java client的的改造
3+
## 旧版本客户端
4+
![avatar](pic_ref/oldversion.png)
5+
### 旧版本在设计上可以改进的一些地方
6+
1.引入的类从引入路径看不出来自哪个jar包,比如exception.FailureException。在大型项目中可能会出现多个相同的类名,如果不明确包名可能会导致意义混乱,甚至引入冲突。
7+
2.tcc等类直接依赖了dtmsvr信息,这样的依赖方式对后期的维护不友好,如果修改了DtmServerInfo的属性,那么后期需要修改所有支持的方式。应该做一个客户端这样的东西专门用来发送请求。
8+
3.向dtmsvr传递参数时使用了map来传递,虽然这对用户是无感知的,但是客户在debug的时候使用map比较麻烦,感觉使用一个param对象比较好
9+
## 新版本客户端
10+
![avatar](pic_ref/newversion.png)
11+
### 新版本中改进的地方
12+
1.由于新版本需要同时支持http和feign两种交互方式,因此将请求dtmsvr相关的部分以及整个client的公共部分抽取出来形成了dtmcli-common模块,这样后续如果需要支持更多的交互方式只需要改动dtmcli-common中的代码,并在core新增代码
13+
2.springcloud版本的client不在乎需要传入ipport这样的配置参数,一切通过feign+nacos/euraka集成起来处理。因此将java-client和spring-client分开处理了
14+
3.对于一些非springcloud的项目我们也提供了java-client来处理,java-client支持像以前那样直接配置endpoint的方式,同时为了适配frontend服务,也支持通过配置nacos服务中心地址这样的方式来动态查找dtmsvr具体的地址。
15+
4.优化了整个项目的包结构,让引入dtmcli-java的时候能够快速找到来自哪个包
16+
17+

pic_ref/newversion.png

34 KB
Loading

pic_ref/oldversion.png

18.4 KB
Loading

0 commit comments

Comments
 (0)