nats-io / nats-architecture-and-design

Architecture and Design Docs
Apache License 2.0
177 stars 20 forks source link

SERVICE API #177

Closed aricart closed 1 year ago

aricart commented 1 year ago

The slides from the RethinkConn service API: https://docs.google.com/presentation/d/1dgUn2OxbHeNScDUhYH_Fy2B4fl-KbbxUWDiWhSyx5aM/edit?usp=sharing

Note that there are some slight changes to what is described there, as experience using the service exposed some bugs, and usability issues.

Jarema commented 1 year ago

@aricart @piotrpio Does it make sense to gather processing stats for internal API (STATS/SCHEMA/PING)?

aricart commented 1 year ago

@aricart @piotrpio Does it make sense to gather processing stats for internal API (STATS/SCHEMA/PING)?

I did it because I treat them as a service, but I don't think we need that it is extra bookkeeping that we don't need to do.

scottf commented 1 year ago

@aricart @piotrpio @Jarema

Does it make sense to gather processing stats for internal API (STATS/SCHEMA/PING)?

I did it because I treat them as a service, but I don't think we need that it is extra bookkeeping that we don't need to do.

Has the decision been documented? Are stats for discovery services required, optional or not to be done? If they are not to be done, should we get rid of the stats request body where you can ask for internal? Is INFO treated differently than STATS/SCHEMA/PING or was that just an oversight in the original question?

Also, if we do have stats for internal (discovery) services what is the stat's name? $SRV.INFO or just INFO

scottf commented 1 year ago

Can you please add example discovery responses. For instance, it's not clear if a PING response should be:

{"name":"JavaCrossClientValidator","id":"gsUzTb9TbAYLh4uUibAg0Z","version":"0.0.1"}

or

{"PING":{"name":"JavaCrossClientValidator","id":"gsUzTb9TbAYLh4uUibAg0Z","version":"0.0.1"}}
aricart commented 1 year ago

Can you please add example discovery responses. For instance, it's not clear if a PING response should be:

{"name":"JavaCrossClientValidator","id":"gsUzTb9TbAYLh4uUibAg0Z","version":"0.0.1"}

or

{"PING":{"name":"JavaCrossClientValidator","id":"gsUzTb9TbAYLh4uUibAg0Z","version":"0.0.1"}}

{"name":"JavaCrossClientValidator","id":"gsUzTb9TbAYLh4uUibAg0Z","version":"0.0.1"}