angel-dart / angel

[ARCHIVED] A polished, production-ready backend framework in Dart for the VM, AOT, and Flutter.
https://angel-dart.dev/
MIT License
1.06k stars 67 forks source link

Do Angel support multiple instance like Aqueduct? #255

Closed ScottHuangZL closed 4 years ago

ScottHuangZL commented 4 years ago

Hi Tobe,

Thanks for your nice framework. Do Angel support multiple instance in multiple thread by default? If no, any plan for it? Such as version 3 to enable this feature & new template to replace Jael to avoid Mirror for AOT?

Thanks.

Regards, Scott Huang

thosakwe commented 4 years ago

Yes, Angel supports multithreading. Projects generated by angel init include it by default, but otherwise, you can simply use the angel_production package: https://github.com/angel-dart/angel/tree/master/packages/production

As for mirrors, Angel does not require mirrors. This was one of the main changes made in version 2. Version 3 of Jael will use angel_container, and therefore will not require mirrors in the future. In situations where your server has to render templates, I do not think it is very likely that one will also be using AOT, anyways.

But yes, in the future, Jael will not explicitly require mirrors, but will instead use the reflector assigned to your app.

ScottHuangZL commented 4 years ago

Thank you Tobe!

ScottHuangZL commented 4 years ago

How about web socket at multiple instances? WS need keep state, do Angel have a mechanism to sync it to other instance? Btw, Aqueduct use messageHub to copy...

ScottHuangZL commented 4 years ago

Could you advise do you start working for Ver.3? Or advise the roughly plan? thanks. As for "In situations where your server has to render templates, I do not think it is very likely that one will also be using AOT, anyways." , I personally think still many people would like AOT for anything, including render templates. In the goland world, many web framework including this compile templates ability, also have other features, such as : one program to host multiple different ports web; one program to including multiple DB engine, and you can use ORM or query builder, or even just raw SQL to populate data into general maps, it is convenient when you have to handle multiple legacy database at same time, such as main data in Postgres, but some other source in MSSQL or MYSQL. and so on. Thanks.