Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于agent的使用姿势咨询 #69

Open
Viyond opened this issue Jun 28, 2018 · 3 comments
Open

关于agent的使用姿势咨询 #69

Viyond opened this issue Jun 28, 2018 · 3 comments

Comments

@Viyond
Copy link

Viyond commented Jun 28, 2018

1、请问如果java之间也通过agent来发送请求的话,使用姿势是怎么样的呢,有没有可以运行的demo,前面提到的motan-example里面的java调用貌似是并没有通过agent的来交互的?
2、求一份如php、java分别通过agent来进行交互的可运行demo;
3、simple序列化针对用户自定义的POJO对象类型(非基本类型)可以序列化么

@rayzhang0603
Copy link
Contributor

rayzhang0603 commented Jun 28, 2018

1、 目前java client通过agent调用是在registry配置中使用direct注册中心,然后把address配置为agent的ip:port,让client直接调用到agent的代理端口上; java server侧也同样用direct注册中心,这样java server并不会注册服务。服务的注册配置在agent中,由agent注册serve,并反向代理java server的rpc端口。

不过这种方式稍显复杂,我们打算java中支持把agent作为注册中心,这样agent可以动态注册和订阅服务,agent中也不必再配一份配置了,只在java中配置一份就可以。目前这个功能正在研发中,预计发布需要1个月左右的时间。

2、php通过agent调用服务的方式可以参考 https://github.com/weibo-mesh , 我们正在逐步完善。

3、simple定位是简单数据类型的序列化,暂不支持pojo对象的序列化。我们正在开发新的对象序列化方式,适合java、php等不同语言交互,也会在近期完成。敬请关注~

@TeacherKevin
Copy link

我看go通过agent调用服务的demo中,agent设置了motan-refer, 而client的配置文件中,也设置了几乎相同的motan-refer。既然服务治理及交互主要是在agent中完成的,那client为什么也要配置motan-refer,我的潜意识认为,client应该只需要提供motan2协议的解码能力及与agent的交互能力即可。demo中的配置文件与我的潜意识不同,所以想问一下为什么需要这样。

另外,不通过agent来进行服务治理和交互时,motan本身就有服务治理功能,那么通过agent调用服务时,既然agent和motan的配置相似,都需要配置motan-refer,那么最终是谁在进行服务治理,是agent还是client?

@rayzhang0603
Copy link
Contributor

@TeacherKevin demo中client即可以通过agent访问服务,也可以直接访问服务,所以会有很多重复的配置项。 client在通过agent访问服务时,只需要protocol、path和group等信息就可以,并不需要服务治理相关的配置项,例如不同的治理filter。

也就是说,client和agent都可以配置服务治理能力,但是实际使用中,如果是 client直连就会在client中配置服务治理相关功能;如果是通过agent交互,则会在agent中配置服务治理。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants