I recommend to download the latest zero framework from https://gitee.com/silentbalanceyh/vertx-zero.git, so you can use the whole features.
- Micro means "Micro Service Environment"
- Aeon Environment is Native Cloud Environment.
Name | Comment |
---|---|
JSR311 | RESTful specification supported, you can use most of JSR311 annotations. |
Extend JSR311 | Defined new annotations @BodyParam , @StreamParam , @Codex to process web request. |
JSR330 | Dependency injection specification supported, this feature is implemented with Google Guice in latest version. |
JSR303 | Bean validation specification supported. |
Extend JSR303 | Provide validation based on rule configuration ( yaml definition ) to verify the data in json format JsonObject/JsonArray . |
JSR340 | Web-filter specification supported, defined new annotation @WebFilter in Zero. |
Keyword | Comment |
---|---|
Re-Actor | This design patterns splitted zero components into Agent and Worker instead of multi-tier structure ( Service/Dao/Model ), the communication between above two are designed by name address instead of java interface , they are not coupling. |
Non-Blocking | All the components in zero framework are asychronous and the container process web request very smartly without any blocking, it require you do more FP style programming in Zero instead of traditional style. |
Yaml | All critical configuration files are formatted with yaml syntax, and it's similar with spring framework. |
Jooq | Zero framework access different SQL database via Jooq as standard way, and I provide user-defined Query Engine ( json syntax ) to support complex querying such as pagination, sorting, grouping, joining and advanced searching. |
MongoDb | Support mongo db toolkit to access mongo database very cool, as the Query Engine syntax is the same as SQL database, they shared uniform API in programming. |
AOP Security | Zero Authorization support the whole mode that Vert.x supported ( Basic, OAuth etc) , you can provide your own implementation to process code logical details. All the authoentication(401)/authorization(403) components are designed in AOP part, it could be plug-in/plug-out smartly and all the security components and business components are not coupling. |
Exception | Zero provides a dynamic mgaic exception system to catch different errors that you needed in enterprise application, You can write very less code to implement zero exception and throw out, it will be captured by container. |
Data Contract | Zero designed uniform data format between front-end / back-end communication, there is another project zero ui, it's frant-end application. |
Query Engine | Zero provides query engine interface to face three situations: SQL database, excel table, mongo database, it uses uniform syntax ( Json Format ) to support different data querying. |
Job | Zero provides background scheduler/jobs sub-system to support task processing, the default task manager is implemented with vert.x , you can provide other implementations. |
Plugin | All the zero components are mixed by Infix Architecture, you can write extensions in zero framework by yourselves. |
History | Zero provide default history system to record all the data histories in historical database ( The secondary database here ), you can do any changes in your application and rollback the data to fixed version that you needed. |
Multi- | Zero could support following multi environments, they could run in uniform environment such as platform here: Multi-Application, Multi-Language, Multi-Tenant. |
WebSocket | Zero provides websocket feature in the latest version, it's implemented based on Stomp. |
EMF | Zero support modeling method via Java class and the table of database, also it support dynamic modeling based on configuration, the dynamic modeling feature support Eclipse Modeling Framework specification. |
Monad | Most components in Zero were designed based on FP programming, the framework provides Ux/Ut/Fn supervise toolkit API to help developers to implement monad development smartly. |
Keyword | Comment |
---|---|
gRPC | Zero used gRPC as default communication equipments, it hides the details of gRPC, the developers could write code with common programming-style. This feature resolves service communication between different micor-services. |
etcd3 | When you want to implement registry center in micro environment, zero use etcd3 as default ( Also you can provide other implementations ). It let zero could run on k8s environment very soon. |
istio | zero-micro implementation uses k8s / istio / etcd3 as default architecture, all the applications could run on above platform directly, running on istio is experimental in progress. |
mesh | Zero-micro provides new architecture based on service mesh concept, it defined originator/coordinator/terminator to mark each node or service, for data-communication, developers are not needed to know the details with common-programing. |
gateway | Zero provides Api Gateway to connect different micro-services, it implement perfect web request forwarding and monitoring. |
K8S | Aeon Environment is running on K8S environment, it built Native Cloud system for users. |
All the business part that you can refer vertx-pin
project ( zero extensions ).
Below are all supported clients to connect ( Infix Architecture )
- Radis
- Feign
- ElasticSearch
- MySql
- Mongo DB
- Neo4j: Graphic Database
- Jooq
- Etcd3
- FTP
- Git: Low-Code back-end
- gRPC: Zero micro environment
- Apache Poi: Excel Importing / Exporting
- Liquibase: SQL Auto Deployment
- Shell Framework: DevOps shell administration
- Stomp: Websocket Enabled.
- 爱奇艺视频客户端
- 阿里云短信客户端