The Evolution of website Architecture
Web site in different stages encountered the problem is not the same, and solve these problems using the same technology, the traffic is small, our main purpose is to improve development efficiency, in the early to introduce Orm,dao these technologies. As the flow becomes larger, the stability of the website is continuously improved by using static and dynamic separation, read/write separation, master-slave synchronization, vertical splitting, CDN, MVC and so on. In the face of greater traffic, through vertical splitting, service, reverse proxy, development framework (site/service), and so on, continuously improve the high availability. In the face of the greater flow of billions of dollars, through the centralized, flexible services, message bus, automation (regression, testing, operations, monitoring) to meet the new challenges. The future is to continue to achieve mobile, big data real-time computing, platform -based ...
Micro-Service Architecture microservices Architecture (MSA) is an architectural concept designed to decouple a solution by decomposing functionality into discrete services. You can look at it as applying a lot of solid principles to the architecture hierarchy rather than the class that gets the service. but in practice, it can cause a lot of problems. How do these services communicate? What are the delays between services? How to test the service? How do I detect failures and respond to them? How do you manage deployment if there are a lot of interdependent situations? In fact, the microservices themselves do not have a strict definition, but from a lot of people's feedback, everyone has reached the consensus: MicroServices are a simple application, there are about 10 to 1000 lines of code.from a physical point of view, these services are small and you can run a large number of services on the same machine without worrying about memory or resource issues. Again, a simple library based on a large framework will win the final victory, and you will find that reliance on third-party libraries is decreasing. Essentially, microservices are self-hosted, they get a port and then listen. This means that you will lose many of the benefits of a typical enterprise application server that needs to provide the necessary functionality (performance metrics, monitoring, and so on). you may find that in some cases, the cost of serializing and deserializing JSON loads in a full transaction can cause system bottlenecks. Maybe JSON doesn't work, and you may need to use other protocols, such as PROTOBUF. Some of the communication between services can be completely decoupled, and in fact, some services can publish events or data at will. They just throw it out (say, the message bus), maybe one day there's a service, and then they start listening. In addition, some parts of the system may operate in a batch/offline process, and they may take a few hours to get the message out of the queue. The MicroServices architecture enables this flexibility without having to modify the entire architecture.
which company or product uses the MicroServices architecture?Most large web systems such as Twitter, Netflix, Amazon and ebay have migrated from traditional monolithic architectures monolithic architecture to microservices architectures
From for notes (Wiz)
2015 50th Monday Understanding microservices Architecture