Hi,
If there is not a global config store for all clients to share, and let
each client create its own strategy, it seems will come out some problems.

On Tue, May 11, 2021 at 10:50 AM Ruan, Wenjun <[email protected]>
wrote:

>
> Yeal, currently the server address information is input from
> LiteClientConfig, and stored at AbstractLiteClient.eventMeshServerList.
> If we want to implement this feature, we may need to do two change.
> First, we need to change the address format at
> liteEventMeshAddr.liteEventMeshAddr, currently it is 127.0.0.1:10105;
> 127.0.0.2:10105,
> we need to change to 127.0.0.1:10105:1;127.0.0.2:10105:1 the last number
> is weight.
> Second, when the consumer client or producer client initialize,
> we will process the address information and create the load strategy
> class, store the server address with the weight information at the load
> strategy we created.
> Each client need to create their own load strategy, this is not shared by
> all clients. So this is not a global load.
>
> Thanks,
> Wenjun Ruan
>
> From: majorhe <[email protected]>
> Date: Monday, May 10, 2021 at 10:07 PM
> To: [email protected] <[email protected]>
> Subject: Re: [Discuss] Support multiple load balance strategy in sdk
> External Email
>
> Great, but there are still some points that we need to discuss in detail.
> For example, if we use the weight random or weight round-robin strategy,
> where is the weight information stored so that all clients can get it?
>
> Ruan, Wenjun <[email protected]> 于2021年5月8日周六 下午4:40写道:
>
> >
> > In current HTTP SDK, we use LiteProducer to publish messages. We store
> the
> > server address in the eventMeshServerList property of the LiteProducer,
> the
> > producer is responsible for the selection work.
> >
> > If we want to support multiple selection strategy, we can define a
> > interface named  HostManager or HostSelector, we store the address in the
> > HostManager and it can have different implementation according to a
> > specific strategy. The producer uses the HostManager to do the selecte
> > work. The User can use a specific implementation by configuration.
> >
> > Best wish
> > Wenjun Ruan
> > From: Eason Chen <[email protected]>
> > Date: Saturday, May 8, 2021 at 3:47 PM
> > To: [email protected] <[email protected]>
> > Subject: Re: [Discuss] Support multiple load balance strategy in sdk
> > External Email
> >
> > Hi,
> > Good suggestion, could you describe your design based on current sdk?
> >
> > Eason
> >
> > On Sat, May 8, 2021 at 11:37 AM Ruan, Wenjun <[email protected]>
> > wrote:
> >
> > > Hi team,
> > >
> > > As mention in this issue<
> > >
> >
> https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Fincubator-eventmesh%2Fissues%2F333&amp;data=04%7C01%7Cweruan%40ebay.com%7Cbfa001a96aa54b61d70808d913bce139%7C46326bff992841a0baca17c16c94ea99%7C0%7C1%7C637562524217500010%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=xjgpzktz1apzGWwStcemmx6f5X4%2FBsU1ibMFAB3nfD8%3D&amp;reserved=0
> >,
> > at present, if
> > > we use HTTP SDK to publish a message, the producer will use random
> > strategy
> > > to select the target server host, this may work well in most
> scenarios.
> > > But sometimes if the servers have different hardware we may want to use
> > the
> > > weighted polling method to select the server.
> > >
> > > So I suggest adding additional load strategy to choose server in SDK.
> > >
> > > Best wish,
> > > Wenjun Ruan
> > >
> >
>

Reply via email to