We are now starting our server by:

ServerBuilder.forPort(port) 
 .addService(new Service_A_Impl()) 
 .addService(new Service_B_Impl()) 
 .addService(new Service_C_Impl()) 
 .addService(new Service_D_Impl()) 
 .addService(new Service_E_Impl()) 
 .addService(new Service_F_Impl()) 
 .build() 
 .start();



Is it okay? What are the pros and cons of starting the server like that? 
Sorry if it sounds a lot newbie.

Thanks

On Thursday, 6 July 2017 13:17:06 UTC+3, Mahesh Lal wrote:
>
> This could be a long discussion. I am listing down some of the things we 
> follow:
> 1) We use gRPC only for internal API calls. Anything that is exposed to 
> the outside world is done via a REST wrapper. 
> 2) Use Consul for service discovery and use channel pooling for load 
> balancing. 
> 3) If you are using Newrelic, you can put the @Trace annotation on top of 
> each service method so that it gets captured. 
>
> For all practical purposes, our gRPC services run okay on 4 core 8GB 
> machines. Be extra careful around error handling though, and also take care 
> when configuring channel pool sizes.
>
> Let me know if you want to discuss things in further details. 
>
> -- Thanks and Regards
>    Mahesh Lal
>
>
> On 1 July 2017 at 00:44, Selcuk Bozdag <[email protected] <javascript:>> 
> wrote:
>
>> Hi,
>>
>> We just started experimenting with gRPC services. As Manesh, we also 
>> created a number of services(in form of executable jar files) which they 
>> serve individually. 
>> We are coming from a world of monoliths where each stack is something 
>> deployable on an app server and now looking for the best practices around 
>> to figure out how to run our services.
>>
>> Any ideas or recommendations?
>>
>> Thanks 
>>
>>
>> On Friday, 10 June 2016 20:23:40 UTC+2, Alex Borysov wrote:
>>>
>>> Hi Manesh,
>>>
>>> For New Relic, you might need to use experimental java agent to use 
>>> Netty 4: NewRelic netty-4.0 
>>> <https://docs.newrelic.com/docs/agents/java-agent/instrumentation/java-agent-incubator#h3_11>
>>>
>>> Thanks,
>>> Alex Borysov
>>>
>>> On Friday, June 10, 2016 at 10:10:18 AM UTC-7, Mahesh Lal wrote:
>>>>
>>>> Thanks for the reply Eric. 
>>>> I got my New Relic question answered by a bit of experimentation.
>>>> I can definitely use New Relic to monitor the gRPC service simply by 
>>>> setting the *-javaagent:/fully/qualified/path/to/newRelic.jar *even if 
>>>> I am running it using the JVM directly.
>>>>
>>>> -- Thanks and Regards
>>>>    Mahesh Lal
>>>>
>>>>
>>>> On 10 June 2016 at 22:31, Eric Anderson <[email protected]> wrote:
>>>>
>>>>> I can't answer at all about New Relic.
>>>>>
>>>>> On Fri, Jun 10, 2016 at 4:13 AM, Mahesh Lal <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> We are using GRPC for our internal services. Currently, we package 
>>>>>> the service as a Jar and running it directly using the JVM (*java 
>>>>>> -jar <jar name>*). We aren't using any application server like Jetty 
>>>>>> or Netty. In a production environment, is that okay?
>>>>>>
>>>>>
>>>>> Yep, that sounds fine.
>>>>>
>>>>> Do we need to deploy Grpc services to an App server at all?
>>>>>>
>>>>>
>>>>> No, it's not necessary. gRPC doesn't really care. If you're already 
>>>>> using an App server, that's fine. If you just run binaries directly, 
>>>>> that's 
>>>>> fine. 
>>>>>
>>>>
>>>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/afd2e678-2747-43b7-a228-fe163c41528c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to