The first practice assignment (1) course survey

Because the Academic Affairs Office does not have a lesson plan and syllabus for this course, I do not know what kind of course it is. Judging from the course name, it is probably a comprehensive practical application of the knowledge learned in previous years to enhance our comprehensive ability

(2) Understanding microservices

What is microservice

According to the definition on Wikipedia, microservices is a software development technology, a variant of the service-oriented architecture (SOA) architectural style, which orchestrates applications into a series of loosely coupled services. In the microservices architecture, each service is fine-grained, and the protocol is lightweight.

Unreasonable situation in business development

  • There are many repetitive codes of the same business logic in the website and mobile applications.
  • Data is sometimes shared through the database, and sometimes transferred through interface calls. The interface call relationship is messy.
  • In order to provide an interface to other applications, a single application gradually changes and contains a lot of logic that does not belong to it. The application boundary is blurred, and the function attribution is chaotic.
  • In the initial design of the management background, the guarantee level was lower. After adding data analysis and promotion management-related functions, performance bottlenecks occurred, affecting other applications.
  • The database table structure is dependent on multiple applications and cannot be reconstructed and optimized.
  • All applications operate on one database, and the database has performance bottlenecks. Especially when the data analysis runs, the database performance drops sharply.
  • Development, testing, deployment, and maintenance are increasingly difficult. Even if only a small function is changed, the entire application needs to be released together. Sometimes the conference will accidentally bring some untested code, or after modifying a function, another unexpected place is wrong. In order to mitigate the impact of possible problems caused by the release and the impact of online business pauses, all applications must be released at three or four in the morning. In order to verify the normal operation of the application after the release, you have to stare at the peak user day during the next day ...
  • The team appeared to blame. The question of which application some common functions should be built on has often been debated for a long time. In the end, either one should do everything individually, or put it in a place without maintenance.

Advantages of microservices

  • Improve development communication, each service is cohesive enough, small enough, and the code is easy to understand;
  • Independent testing, deployment, upgrade and release of services;
  • Customized DFX, resource utilization, each

    Because the Academic Affairs Office does not have a lesson plan and syllabus for this course, I do not know what kind of course it is. Judging from the course name, it is probably a comprehensive practical application of the knowledge learned in previous years to enhance our comprehensive ability

    (2) Understanding microservices

    What is microservice

    According to the definition on Wikipedia, microservices is a software development technology, a variant of the service-oriented architecture (SOA) architectural style, which orchestrates applications into a series of loosely coupled services. In the microservices architecture, each service is fine-grained, and the protocol is lightweight.

    Unreasonable situation in business development

    • There are many repetitive codes of the same business logic in the website and mobile applications.
    • Data is sometimes shared through the database, and sometimes transferred through interface calls. The interface call relationship is messy.
    • In order to provide an interface to other applications, a single application gradually changes and contains a lot of logic that does not belong to it. The application boundary is blurred, and the function attribution is chaotic.
    • In the initial design of the management background, the guarantee level was lower. After adding data analysis and promotion management-related functions, performance bottlenecks occurred, affecting other applications.
    • The database table structure is dependent on multiple applications and cannot be reconstructed and optimized.
    • All applications operate on one database, and the database has performance bottlenecks. Especially when the data analysis runs, the database performance drops sharply.
    • Development, testing, deployment, and maintenance are increasingly difficult. Even if only a small function is changed, the entire application needs to be released together. Sometimes the conference will accidentally bring some untested code, or after modifying a function, another unexpected place is wrong. In order to mitigate the impact of possible problems caused by the release and the impact of online business pauses, all applications must be released at three or four in the morning. In order to verify the normal operation of the application after the release, you have to stare at the peak user day during the next day ...
    • The team appeared to blame. The question of which application some common functions should be built on has often been debated for a long time. In the end, either one should do everything individually, or put it in a place without maintenance.

    Advantages of microservices

    • Improve development communication, each service is cohesive enough, small enough, and the code is easy to understand;
    • Independent testing, deployment, upgrade and release of services;
    • Customized DFX, resource utilization, each service can be independently x-scaled and z-scaled, and each service can be deployed to a suitable hardware server according to its own needs;
    • Need to choose the mode of HA, select the number of instances receiving services;
    • It is easy to expand the development team, and the development team can be developed for each service (service) component;
    • Improve fault isolation (fault isolation), memory leak of a service does not paralyze the entire system;
    • The application of new technologies, the system will not be restricted to a certain technology stack for a long time;

    Disadvantages of microservices

    • Without silver bullets, microservices increase the complexity of the system;
    • Developers have to deal with the complexity of distributed systems;
    • Distributed communication problems between services;
    • Service registration and discovery problems;
    • Distributed transaction issues between services;
    • Report processing problems with data isolation coming back;
    • The problem of distributed consistency between services;
    • The complexity of service management, service arrangement;
    • Management of different service instances.
    Each service can perform x expansion and z expansion separately, and each service can be deployed to a suitable hardware server according to its own needs;
  • Need to choose the mode of HA, select the number of instances receiving services;
  • It is easy to expand the development team, and the development team can be developed for each service (service) component;
  • Improve fault isolation (fault isolation), memory leak of a service does not paralyze the entire system;
  • The application of new technologies, the system will not be restricted to a certain technology stack for a long time;

Disadvantages of microservices

  • Without silver bullets, microservices increase the complexity of the system;
  • Developers have to deal with the complexity of distributed systems;
  • Distributed communication problems between services;
  • Service registration and discovery problems;
  • Distributed transaction issues between services;
  • Report processing problems with data isolation coming back;
  • The problem of distributed consistency between services;
  • The complexity of service management, service arrangement;
  • Management of different service instances.

Guess you like

Origin www.cnblogs.com/sy211910/p/12710028.html