The architect's accomplishments

Source: Internet
Author: User
The architect's accomplishments

Talented people are not short of job opportunities, only lack of good opportunities for themselves. But they often do not have the energy to find the most suitable one from the vast opportunities.
100offer will be on the platform of Talent and enterprise screening, so that "the best talent" and "Best Company" meet.
Scan the QR code below and register for 100offer to talk about your expectations for your next job. Within a week, receive 5-10 good opportunities to meet your requirements:




The primary concern of software architects is not the functionality of the system.


The first thing to consider when you get the system requirements is not the page layout or the navigation tree, but the server to which it is provided. Run on Winserver or Linux. How many users would like to support concurrency. What security is required for the application. The application runs in the public network or intranet.


Two key practices for successful architects: engaging stakeholders and focusing on functionality and quality at the same time.


Functionality: What features the product provides to his users.


Variability: What changes the software may need in the future. Which changes are unlikely to happen and do not need to be particularly easy to make these changes.


Performance: How the product will hit the performance


Capacity: How many users will use the system concurrently. How much data the system stores for the user.


Ecosystems: What interactions the system will have with other systems when the environment is deployed.


Modularity: The task of how to write software is decomposed into assignment, especially these modules can be independently developed and can meet each other's needs accurately and easily.


Scalability: How to build software into a set of components and be able to implement and validate these components independently. Which components should be reused for other products and which are obtained from external vendors.


Product: If the product will exist in the form of several variants, how to develop a product line and take advantage of the commonalities of these variants. What steps are the products in the product line developed, and what investments are made when a product line is created? The choice of different variants in the product line is expected to be rewarded. In particular, it is possible to develop the smallest useful product before expanding it.


Security: Whether the product requires user authentication or must restrict access to the data. How data security is guaranteed. How to withstand DDoS attacks or other attacks.


The architect is playing a compromise game, there is no unique correct architecture and the only correct answer for a given set of functional requirements and quality requirements.


Two ways to evaluate the architecture


The first evaluates throughput and scalability through performance modeling to assess reliability and accessibility through the failure tree model. Other types of models include complexity and coupling metrics for assessing variability and maintainability.


The second is to evaluate the architecture by asking the architect a question, and another variant of the challenge approach is the architectural compromise analysis approach, which looks for the risk that the architecture does not meet the quality concerns.


When designing a system architecture, ensure that the system is resilient when it is scaled. The overall architecture must be a distributed system that can add machines as the request grows, removing the machine when the request drops.


The general rule of thumb in an enterprise is that 90% of data access is read-only, and most tasks read large amounts of data before overwriting a small amount of data. In an MMO and virtual world environment, most tasks only access a small amount of state data on the server, but about half of the data that he accesses is overwritten.

In an enterprise environment, the goal is task management, and if the total throughput is improved, a little delay in processing can be acceptable. The latency in MMO and virtual world environments is the biggest enemy.


There are currently two major categories of MMO responses to a huge number of user methods.


The first class is geo-based and is designed to contain a different set of areas, each running on a single server. For example, one of the main cities in the virtual world is on one server and one town on the other. The game Design view is independent of each region, limits geographic areas to self-limiting, and when the main city is delayed, players will experience the game in the small town. One of the problems with assigning different geographic regions to different servers for scaling is the need to determine which zones are placed on which servers at the time of writing. Adding easy modifications may require code changes. Guessing World of Warcraft uses this approach to solve concurrency.


The second class is to use partitioned methods to deal with congested areas in the game. A partition is a copy of the zone, running on its own server, independent of the other partitions, which represent the same part of the game. The disadvantage is that players in different partitions are not allowed to interact with each other. This is the way in which different lines of the game are parallel partitions.


Source: Http://www.jianshu.com/p/96f6430c6c70


Copyright statement: The content source network, the copyright belongs to the original person. Unless it is impossible to confirm, we will mark the author and source, and if there is any infringement please inform us that we shall immediately delete and apologize. Thank you.


-end-

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.