> Should I also be worried about any performance impacts here in terms of CPU/Runtime? Will my Plaintext requests be as fast as they are with a vanilla Plaintext port? Would be helpful if someone can help me with some documentation around this.
Using SSL vs using unsecure socket does have some performance impact for sure. But I don't know about any documentation / measurement around this specific question... I don't know if using non-SSL with or without port unification makes any difference. I would say most probably not. I see that the code path for socket / connection initialization is a bit different for the two cases. But I wouldn't expect real performance impact. Only the connection initialization part should be impacted, the performance for the rest of the communication over the socket should be the same, I assume. This is the point in the code where the client socket handler gets defined (either using or not using portUnification): https://github.com/apache/zookeeper/blob/6ab1822ec431bb3309021c1ddc613a5eaa28d83b/zookeeper-server/src/main/java/org/apache/zookeeper/server/NettyServerCnxnFactory.java#L489 I have some performance measures around SSL vs. unsecure. It is not exactly what you are asking for, but maybe can be useful: https://drive.google.com/drive/folders/1uG3JI6sXiuWJ15IjtUMGTJwNY_pP3yhZ?usp=sharing Cheers, Mate On Mon, Jul 6, 2020 at 11:38 AM Sankalp Bhatia <sankalpbhati...@gmail.com> wrote: > Thanks Enrico and Mate for the valuable comments. > > Mate, regarding your point- *I don't consider the use of > client.portUnification to be 'bad' or 'unsecure' in itself * > > I agree. This is as bad as the case of having a plaintext and TLS port open > at the same time in terms of security. > > Should I also be worried about any performance impacts here in terms of > CPU/Runtime? Will my Plaintext requests be as fast as they are with a > vanilla Plaintext port? Would be helpful if someone can help me with some > documentation around this. > > Thanks > -Sankalp > > On Sun, 5 Jul 2020 at 17:09, Enrico Olivelli <eolive...@gmail.com> wrote: > > > In my opinion you can use port unification during a rolling upgrade of > your > > ZK cluster and you are moving your servers to TLS. > > > > Another case is that you have to connect to two different ZK clusters, > one > > with TLS and one with plain connections, some configurations are system > > properties so it is hard sometimes to implement this scenario. > > > > I have not used it, so I am just sharing a couple of ideas. > > > > The feature has been contributed by our Facebook friends, I hope that > > someone from that crew can tell more > > > > Regards > > Enrico > > > > Il Dom 5 Lug 2020, 16:41 Szalay-Bekő Máté <szalay.beko.m...@gmail.com> > ha > > scritto: > > > > > Hi Sankalp, > > > > > > I think it really depends on your security policies. I don't consider > the > > > use of client.portUnification to be 'bad' or 'unsecure' in itself. > > > Especially, if you can make sure in your cluster that all sensitive > data > > is > > > protected with ACLs and modified / listed using TLS. > > > > > > But still the most secure is to use TLS-only connections. In our case > we > > > found it tricky to configure all the clients to connect to ZooKeeper > > using > > > TLS, so we are following a step-by-step approach to migrate all our > > clients > > > to TLS. But instead of using client.portUnification, we decided to > > maintain > > > two separate ports in our configs. I don't exactly remember our > > reasoning, > > > but e.g for me it seems to be easier to debug connection issues. (so if > > the > > > client is able to connect to the secure-only port, then you can make > sure > > > TLS is really used - and you don't have a false sense of security) > > > > > > Cheers, > > > Mate > > > > > > On Sun, Jul 5, 2020 at 2:35 PM Sankalp Bhatia < > sankalpbhati...@gmail.com > > > > > > wrote: > > > > > > > Hi Devs, > > > > > > > > Can someone share some insights on what is a good use case for the > > > feature > > > > *client.portUnification*? I have a use case where clients would want > > both > > > > PLAINTEXT and TLS traffic to be served by ZooKeeper server and I want > > to > > > > avoid exposing and managing 2 different zookeeper ports. Is this a > > valid > > > > use case? or is this feature only supposed to be used for some > rolling > > > > upgrades like the one for quorum port unification? > > > > > > > > Thanks in advance! > > > > > > > > -Sankalp > > > > > > > > > >