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

Umbrella issue for 1.0.0 #1704

Closed
13 of 43 tasks
trustin opened this issue Apr 8, 2019 · 6 comments
Closed
13 of 43 tasks

Umbrella issue for 1.0.0 #1704

trustin opened this issue Apr 8, 2019 · 6 comments

Comments

@trustin
Copy link
Member

trustin commented Apr 8, 2019

@minwoox
Copy link
Member

minwoox commented Apr 8, 2019

Currently, we use RpcXX classes such as RpcRequest, RpcResponse, RpcService, RpcClient, etc. for Thrift only. Because the name includes Rpc, the users expect that the gRPC module uses the same classes which is not true and they usually end up with a surprise.

I wonder if we have to address this issue which will bring a lot of API changes before 1.0.0. These are some of the ways that I can think of to solve that:

  • Rename the RpcXX classes to ThriftXX to distinguish Thrift and gRPC.
    • The easiest way. There are not so many changes except just names.
  • Abstract RpcRequest and RpcResponse use them in Thrift and gRPC together.
    • I'm not even sure if it's possible also if it's a good idea. gRPC uses ClientCall, ServerCall and listener for sending request and receiving response. gRPC supports streaming and Thrift doesn't. Because nature is different, it could harm Armeria and make it worse to use.
  • Just leave it as it is since no one complains about it.

These are just my improvisatory thought and please give an idea if you have. /cc @anuraaga

@trustin
Copy link
Member Author

trustin commented Apr 9, 2019

Consider deprecating *RegistrationBeans in Spring integration module and let users use the configurator which gives the most freedom. WDYT, @imasahiro @kojilin ?

@anuraaga
Copy link
Collaborator

anuraaga commented Apr 9, 2019

I think I originally designed that API internally - and I vaguely recall realizing spring offers both registration beans and customizer ones so thought having both is idiomatic. I haven't used Spring in a long time though so could be misremembering or things could have changed.

@trustin
Copy link
Member Author

trustin commented Apr 16, 2019

Added two more discussion items:

@trustin
Copy link
Member Author

trustin commented Nov 25, 2019

Let me close this issue and set 1.0.0 to milestone for the issues which will affect the API design.

@trustin trustin closed this as completed Nov 25, 2019
@trustin
Copy link
Member Author

trustin commented Nov 25, 2019

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

No branches or pull requests

3 participants