-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Rémy,

On 10/4/18 05:26, Rémy Maucherat wrote:
> On Wed, Oct 3, 2018 at 10:27 PM Christopher Schultz < 
> ch...@christopherschultz.net> wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
>> 
>> Rémy,
>> 
>> On 10/3/18 09:48, Rémy Maucherat wrote:
>>> Hi,
>>> 
>>> As I talked about during the latest TomcatCon (and the previous
>>> one in London actually ...), there's a cloud aware cluster
>>> members provider that can be contributed to Tomcat.
>>> 
>>> The current code is here: 
>>> https://github.com/rmaucher/tomcat-in-the-cloud It uses
>>> Kubernetes to retrieve the members of a cluster, rather than
>>> multicast (which isn't available) or static (which is well ...
>>> static) member providers.
>>> 
>>> Credits: Maxime Beck and JGroups did the initial code Keiichi 
>>> Fujino explained how to refactor it to fit in the Catalina
>>> cluster API and I refactored it as he told me to
>>> 
>>> Problems: Only does Kubernetes for now (which is likely ok
>>> since it's now widely available) JSON parser dependency
>>> (org.json) that is likely not ok to have as is in the lib
>>> folder (solutions: package renaming using a script or include
>>> json code in Tomcat)
>> 
>> Solr uses this JSON parser which is quite fast, although the API
>> is a little little awkward because of it:
>> 
>> https://github.com/yonik/noggit
>> 
>> AL2 license
>> 
>> I'm not sure it's necessary to have a "streaming JSON" parser as 
>> opposed to a more "traditional" one where the whole JSON object
>> is converted into objects before the client code can do anything
>> with them.
>> 
> 
> The json from Kube is simple.
> 
> The org.json parser is very dom like, this event based one looks
> good I guess. Is it worth changing my code ? Given the parser size,
> event based nature and the presence of a "writer", this noggit
> could be worth package renaming (IMO for this one that's the only
> viable strategy as I'm not sure there's much maintenance or use
> going on - maybe it's bug free ;) ). After all, we might need/use
> more json handling in Tomcat in the future (right ?).

I like the Noggit code because it's insanely small and produces
regular Java objects instead of the nonsense that most JSON libraries
produce, with JSONObject and JSONArray, etc.

Compare sizes:

           version   bytes  classes
Noggit         0.8   27948    14
org.json  (unknown)  43895    21
gson         2.3.1  210856   165

If you want to use it in a streaming/progressive/eventing kind of way,
you can. Or you can call the "gimmie the tree" method and get a whole
object tree back.

The documentation is non-existent AFAICT, so I've had to read the code
to figure out how to use it, which is a little frustrating.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlu2TJcACgkQHPApP6U8
pFiO2Q/9HxaVpy0zmIvQdDrDW0STDfem6Hw2KMj/UFXJ0Se6wzxJMcLJ8DHtcPbD
IYO6rkgkrlK+D8ZHbwrTSoTKAQgEZ2tXv5818V95Etj5AzxUKdke2wi3x/WuTVCF
nsYHALgYhXVytoqAfL61V3Jld+N9kI8PAFe34lHZtHgQP6G+ypXW85h4q8WfBHTE
Fr8eWSFAogcGrHKSoSUjDOKvjL4zP/I6vyqG0zQB8ajz0YqSBviTRxWGSgmSMRIa
WZz5xvfLwMb1F+ykFvIdI5FtBw4C0AACKcwZzjf78gpTSOQYeQBfVGWaCspeNyAG
10JRBz+ktxdgEDaDEtEaOsfloK1PMxO/U/UDoKM4e51cQvNELpj0gWzGUaRi8guz
LWj9/ewz5BmpurojWXwLbzdFNfmovOxPRK8cJid1LI6rmm+bvucxt0nHM+n4M18p
ehD43gK5sidR/mVlnEJkGNfzdhforoIoZDtvaXNOGGe4/7j9Blb0OdXrcCxAsHd6
6eoPLW7sRJU6L5IMZf31S0Mfp0E/n96EqaKfKjDKMQdBc41sz3XHesTXGHC9SyHK
7wM4P/YBX6pnPGG0wna00NUKaWBwv16ch5SvpM5bAl/ms8wK3X8x4gbeeL0xF9Eu
hTulFWB2QYrGEKkYgt2/6091vOJIyJ3c5ZcK7eEs7F+V71brnVo=
=dl4u
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to