Large-scale Distributed System architecture and design practices

Source: Internet
Author: User
Foreman Mode

Contractor-Worker mode:

I have read a book titled large-scale distributed system architecture and design practices. The "contractor-worker" mode is used in the user module of anycmd. AC is an implicit project. A project has only one contractor. A contractor can hire many workers. A worker is only employed by one contractor under a project. Every worker is his own contractor.

This is the organizational structure of military management.

The contractor can split the project into many sub-projects. The contractor can contract the new sub-project to the new contractor. Every worker can contract the project, and every worker has the opportunity to become the contractor, the contractor immediately becomes the contractor of the project.

Do not cross.

The project continues to package, and the final leaf is a task. The task is completed by the worker. After the worker completes the task, it is summarized by the contractor's Head of the project to which the task belongs. The contractor's head is reported to the parent contractor's head, which is summarized to the original contractor's head. Each contractor is responsible for evaluating whether the project contracted by their workers is completed and scoring the workers they hire. The contractor receives compensation, and the Contractor allocates compensation to the workers hired by him. After the contractor's project is completed, the relationship between the contractor and the workers can be dissolved. They are waiting to be hired by the new contractor in the new project.

No matter whether it is flexible autonomous access control or strict mandatory access control, it can be completed through the foreman-worker mode.

The worker mode is actually the organization mode. This model is everywhere and creates great social value. The organizational structure model and comments are as follows:

 

Contractor-Manual warehouse-Worker mode:

Anycmd also supports manual warehouse mode. A manual repository is a resource aggregation built around users. The concept is hard to understand. In this case, it may be easier to understand: the implementation of a manual repository is to create a userid (subject), objecttype (object type), objectid (Object ID) and dynamicexpression, and maintain a set of important fields.

The manual repository controls the dataset range that you can see. Each user can only access the data in the manual warehouse assigned to him. The contractor head is responsible for placing resources in the manual warehouse of the worker (the reference such as objecttype and instanceid is placed, and the system must cooperate to correctly display the resource records in the manual warehouse of the worker, the user interface should be automatically drawn based on the records in the current manual warehouse and system configuration ).

Contractor-Career Board-Manual warehouse-Worker mode:

For more information, click here. Different applications have the same principle.
Anycmd

Anycmd is. the net platform is fully open-source and fully supports RBAC (including core RBAC, general role-level RBAC, static duty separation RBAC, and dynamic responsibility separation RBAC ), XACML supports common permission frameworks, middleware, and solutions. The complete RBAC Specification defines only a subset of the capability set provided by anycmd. If you are interested, you can first observe the source code of anycmd and look forward to your help to ensure that she is on the right path.

The framework, middleware, and solution are three usage modes:

Framework mode:Reference one or two necessary DLL or corresponding source code. It runs with your application system and you have full control over anycmd. You need to provide the UI Layer by yourself, however, the UI Layer provided by anycmd is also available. Users who use anycmd extended point programming have the opportunity to meet their own personalized needs;

Middleware mode:Reference one or two necessary DLL files and some resource files, which can run together with your application system. It provides the UI Layer, but you can also delete and independently provide them, it provides default configurations according to best practices. You can adjust configurations such as custom plug-ins to meet or close to meet your needs. Anycmd middleware can be considered as an independent system, but it can run in the same process, same or different appdomain as your application system.

Solution mode:Provides a complete set of AC best practices and methodologies, allowing users to move towards the best practices.
How to Use

Anycmd not only provides irbacservice interface http://git.oschina.net/anycmd/anycmd/blob/master/Framework/Anycmd/IRBACService.cs from RBAC international specification documents, but also provides a complete set of stable, functional, consistent style, smooth API. The framework is very simple to use. It is limited to the AC field and basically achieves a smooth and consistent API for every permission requirement. When programming, you only need to use a set of consistent and smooth APIs to tell the framework what we want to do, and then the framework will do it. However, if you can understand the logic of the access control system to do things, it will be easier to use those APIs. In fact, anycmd easily implements full support for irbacservice, because the implementation of irbacservice does not need to write special logic, anycmd APIs are larger than RBAC-defined capability sets. You only need to directly delegate the APIs to anycmd to implement irbacservice.

General Direction

L after the time is ripe, anycmd adopts the Community Development Mode to accept the Code submitted by the Community. Do not worry that anycmd will be maintained one day.

L The XACML standard is very good, but it is somewhat academic and difficult. XACML users are programmers and professional security administrators rather than ordinary users. Therefore, XACML has a lower development priority. XACML requires the power of the community to support XACML.

 

AnycmdIs. NetFully open-source and fully supported platformsRBACWill supportXACMLGeneral permission framework, middleware, and system.

If you are interested, observeAnycmdSource code, we look forward to youAnycmd. ACProvide help to ensure she is on the right path.

Anycmd's Open Source Address isHttp://git.oschina.net/anycmd/anycmd

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.