Introduction to Unicode Series Open Source Components

Overview

Uncode is a series of enterprise-level open source components based on the Java language, authored by Ye Weijun (open source authors spend a lot of time maintaining open source projects and expect to use them correctly). Mainly include: mobile back-end development framework Uncode-BaaS, general database access component Uncode-DAL and distributed task scheduling component Uncode-Schedule, cluster session sharing component Uncode-Session, two-level cache component Uncode-Cache, lightweight messaging Middleware Uncode-MQ. Its core design goal is to make the development of small and medium-sized enterprises simpler and easier to maintain. At the same time, most of the basic operations of the components are encapsulated, and basic functional modules such as authentication and security control are provided, which can greatly improve the development speed and reduce the development cost.

 

Development Overview

The development of the Unicode project started in late 2014. The author, Ye Weijun, has led the technical team to start a business for many years in the field of mobile Internet. I deeply understand the various technical problems encountered by small and medium-sized companies in the development process, so I launched the Uncode series of open source projects, hoping to provide reference and direction for the rapid development of small and medium-sized companies. Uncode adopts the GPL-2.0 protocol. Interested parties are welcome to communicate with each other.

Uncode series projects adhere to the following design goals: rapid development, simple code, easy to learn, powerful, lightweight, and easy to expand. While adhering to the above design goals, in line with the principle of not repeating the manufacture of wheels, good application and integration Existing popular frameworks, creating a full-featured mobile application back-end series of components, completely liberates the productivity of small and medium-sized company developers, allows small and medium-sized company developers to devote more energy to specific business implementation, and reduces the company's product development time and manpower cost to bring the product to market quickly.

Through practice, Uncode will gradually form a series of back-end development components of mobile Internet companies, which will be displayed in the Uncode development community.

 

Uncode-BaaS mobile backend development framework

 

Functional Overview

 

Uncode-BaaS移动后端开发框架,注于移动应用后端服务开发,旨在让移动后端开发变得更简单。任何企业或个人,通过Uncode-BaaS都可以给移动应用快速定制个性化的后端业务逻辑,可以大大降低后端开发时间和成本。Uncode-BaaS框架提供了这种灵活性,可以让您的代码实现非常简单,并直接在各种云服务上运行。一旦你更新了代码,所有的移动应用都会立即自动更新,新功能的发布将会变得更加简单可控。

 

主要特色

1、简单易用

Uncode-BaaS移动后端开发框架,简单易用,易于开发。开发者可以自已制定或者直接使用第三方插件实现移动应用后端业务逻辑,让开发者可以快速完成业务逻辑制定,并直接运行,完全省掉后端开发的时间和人力成本。使开发者可以投入更多精力到移动应用本身,研发出更具竞争力的移动产品。

2、易于维护

Uncode-BaaS移动后端开发框架,为开发者提供集成测试功能,可以随时进行测试,直接运行,无需发布。具有良好的可扩展性,无需对原有业务进行修改,即可实现扩展,同时多个服务之间可以互相调用。可以根据业务量自动扩容,不会对现有业务产生任何影响,具有完美的可伸缩性。

3、个性化定制

Uncode-BaaS移动后端开发框架,可以帮助开发者为自已的移动应用定制个性化的业务逻辑,可以满足所有业务场景的需求。开发者可以用最小的成本快速定制出所需要的业务逻辑,在众多移动应用中脱颖而出,占领先机。同时当应用需要调整时,开发者也可以快速重试。

4、低成本快速开发

The Uncode-BaaS mobile back-end development framework highly encapsulates the mobile back-end business logic and provides a very simple method that enables any developer to customize business logic according to their own business needs. At the same time, we provide very complete help documents and examples Apps and online Q&A to help you customize your business. You can devote a lot of energy to the mobile application itself without the need for back-end developers at all, greatly reducing labor and time costs.

5. Multi-terminal

Uncode- BaaS mobile back-end development framework, based on standard rest protocol, can be applied to all terminals, including IOS, Android, Windows Phone, Html5 , etc. Without any code embedding in the mobile application, all-round statistics and analysis can be performed on the developer's application, which greatly reduces the difficulty and cost of mobile application development, and at the same time ensures the timeliness and accuracy of the data.

6. Safe and reliable

Uncode- BaaS mobile back-end development framework, in order to ensure data security, it can control services and data at the same time. For services, you can set the access objects and operation permissions of the service. For the data itself, table or field-level usage permissions can be strictly controlled according to users, roles, and user groups, which can ensure the smallest granularity of permission control, and perfectly solve the problem of mobile application data security. In addition, the cloud features are used to ensure storage security.

 

Unicode-DAL Generic Data Access Components

 

Functional Overview

Uncode- DAL general data access component, in line with the principle of not repeating the manufacture of wheels, is developed based on ORM frameworks such as Mybatis , Spring JDBC, Hibernate , MongoDB, etc. , and supports read-write separation based on multiple data sources, active-standby switching, failover, automatic Recovery, load balancing, caching, etc. Can greatly improve the development speed.

 

main features

1. Based on ORM frameworks such as Mybatis , Spring JDBC, Hibernate , etc. , the general DAL layer function is realized, and it is fully compatible with existing projects. At the same time, it supports arbitrary switching between ORM frameworks without any changes to the code.

2. Implement a unified DAL layer Cache, and the expiration time can be set freely.

3. Realize read-write separation, active-standby switching, failover, recovery detection and load balancing based on multiple data sources (DataSource).

4. It is recommended to follow the following rules when using this component:

  • When using DTO, the field name is the same as the database table field and is not case-sensitive, or you can use MAP directly without using any DTO class.

  • Concatenated table queries are not supported, mainly single-table operations. If you need to concatenate tables, please use it in conjunction with the native orm framework.

  • The default primary key field for SQL is id, and the default primary key field for NoSql is _id.

Uncode-Schedule distributed task scheduling component

 

Functional Overview

Uncode-Schedule is a distributed task scheduling component based on Zookeeper and Quartz /Spring Task. It is very small and can make Quartz and Spring Task have distributed characteristics without any modification, and ensure that all tasks are executed without duplication and omission in the cluster. .

 

main features

1. Distributed task scheduling component based on popular Zookeeper and Quartz /Spring Task.

2. The cluster task node uses a single JVM as a unit to ensure that each task is not repeated on different nodes in the cluster.

3. When a single task node fails, it will automatically transfer to other task nodes to continue execution.

4. Weakly depend on Zookeeper . When the task node starts, it needs to ensure that Zookeeper is available. During the running period of the task node, when the Zookeeper cluster is unavailable, the task node keeps running in the state before it is available. After Zookeeper is available, it automatically registers the task and returns to normal.

5. Support the dynamic stop and operation of existing tasks.

6. Precautions for use:

  • When a single node fails, the application needs to ensure data integrity or idempotency by itself.

  • The specific usage is the same as Quartz and Spring Task, just add the ZKScheduleManager configuration.

 

Uncode-Session cluster session shared components

 

Functional Overview

A very small cluster session sharing component, with less than a thousand lines of code, avoiding the troubles of using application container plug-ins.

 

main features

1. A very small cluster session shared component, similar to spring-session.

2. The total code does not exceed 1000 lines.

3. Easy to use and expand.

 

Uncode-Cache two-level cache component

 

Functional Overview

A two-level cache component based on redis and ehcache, supports spring-boot, is easy to use, and has a management page.

 

main features

1. Unified annotation support

2. You can set the cache timing automatic update time

3. Cache preheating

4. You can set cache dependency elimination

5. You can add monitoring, use to achieve hit rate, read/write time, etc.

 

Uncode-MQ lightweight java message middleware

Functional Overview

Lightweight java message middleware based on netty.

main features

1. The message storage speed is very fast.

2. It is simple and convenient to use. Currently, only topic mode is supported.

3. Depends on the java environment.

 

User blog recommendation

spring+mybatis+uncode-dal realizes database read-write separation

Distributed timing task framework---Uncode Schedule

uncode-schedule of distributed scheduling

Implement spring+mybatis+uncode dal, the application automatically switches to connect to the database

uncode-schedule-manage customized management system

Uncode-Schedule framework source code analysis

Java manages your cluster timing tasks through redis

 

Thanks to the author of the above blog, thank you! ! !

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326421467&siteId=291194637