Some doubts about placement and routing

67 views
Skip to first unread message

adam zhou

unread,
Mar 10, 2023, 9:53:56 AM3/10/23
to Service Weaver
Hi guys

I have read this fantastic article: https://serviceweaver.dev/blog/quick_intro.html
And have some questions,
wish someone can discuss some. thanks.


1. How we deploy in the cloud. Like pod?
 
 If we place a component on another machine。
 How is that running?
 Like running the whole app or otherwise running component only(how is that possible)
 Same doubt about "flexible placement"
 
 And, if autoscaling. Scale pod? Like the Whole app?


2. How do we route a request to another when in another process?

 The problem is we only route to the same version instance.
 So I am curious about the service discovery part.
 

Thanks very much, if anyone gives some sharing. 

rgrandl

unread,
Mar 10, 2023, 12:24:04 PM3/10/23
to Service Weaver
Hi Adam,

We will publish a blog post about the internal architecture and interactions between different entities when we will get a chance to do that .

See the answers inline.

On Friday, March 10, 2023 at 6:53:56 AM UTC-8 adamzh...@gmail.com wrote:
Hi guys

I have read this fantastic article: https://serviceweaver.dev/blog/quick_intro.html
And have some questions,
wish someone can discuss some. thanks.


1. How we deploy in the cloud. Like pod?
 
That's correct. We place components into groups that are placed into pods on GKE.
 

 If we place a component on another machine。
 How is that running?
 Like running the whole app or otherwise running component only(how is that possible)
 Same doubt about "flexible placement"

We copy the application binary on each machine where your application should run. However, on a particular machine, it will run only the components that are assigned to run on that machine.
 
 
 And, if autoscaling. Scale pod? Like the Whole app?


We use Autopilot for scaling in GKE clusters, which scales at the pod level.

2. How do we route a request to another when in another process?

 The problem is we only route to the same version instance.
 So I am curious about the service discovery part.
 

External traffic: it is routed across all your running application versions based on a rollout schedule.
Internal traffic: once a request reaches a component in a particular application version, the subsequent interactions between the components to serve that request happen only within the same application version.
Service discovery: each component replica will advertise their addresses to a central entity that will compute traffic and routing assignments.


Thanks very much, if anyone gives some sharing. 

Thanks,
- Robert 
Reply all
Reply to author
Forward
0 new messages