SpringBoot - 1. Introduction to SpringBoot

content

1、Spring 与 SpringBoot

1.1. What can Spring do

1.2, Spring's ecology

1.3, Spring 5 major upgrade

1.3.1, reactive programming

1.3.2. Internal source code design

2. Why use SpringBoot

2.1, the advantages of SpringBoot

2.2. Disadvantages of SpringBoot

3. Background of the times

3.1. Microservices

3.2. Distributed

3.2.1 The difficulty of distribution

3.2.2. Distributed solution

3.3. Cloud native

3.3.1. Difficulties in migrating to the cloud

3.3.2, the solution to the cloud

 4. How to learn SpringBoot

4.1. Official document architecture


Shang Silicon Valley Documentation: SpringBoot2 Core Technology and Reactive Programming · Yuque

1、Spring 与 SpringBoot

1.1. What can Spring do

1.2, Spring's ecology

Covers: web development, data access, security control, distribution, messaging, mobile development, batch processing...

1.3, Spring 5 major upgrade

1.3.1, reactive programming

1.3.2. Internal source code design

Based on some new features of Java8, such as: interface default implementation. Redesign the source code architecture.

2. Why use SpringBoot

官网:Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

Quickly create production-level Spring applications

2.1, the advantages of SpringBoot

SpringBoot is a one-stop framework for integrating the Spring technology stack

SpringBoot is a rapid development scaffolding that simplifies the Spring technology stack

● Create stand-alone Spring applications: Create stand-alone Spring applications

● Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files): Embedded web server

● Provide opinionated 'starter' dependencies to simplify your build configuration: Automatic starter dependencies, simplify build configuration

● Automatically configure Spring and 3rd party libraries whenever possible: Automatically configure Spring and 3rd party functions

● Provide production-ready features such as metrics, health checks, and externalized configuration: Provide production-level monitoring, health checks, and externalized configuration

● Absolutely no code generation and no requirement for XML configuration: no code generation, no need to write XML

2.2. Disadvantages of SpringBoot

● Known as the version emperor, iterates fast, and needs to pay attention to changes at all times

● The package is too deep, the internal principle is complex, and it is not easy to master

3. Background of the times

3.1. Microservices

James Lewis and Martin Fowler (2014)  proposed the complete concept of microservices. Microservices Guide

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

                                                                                                                                                -- James Lewis and Martin Fowler (2014)

  • Microservices are an architectural style

  • An application is split into a set of smaller services

  • Each service runs in its own process, i.e. can be deployed and upgraded independently

  • Interaction between services using lightweight HTTP

  • Services are split around business functions

  • Can be deployed independently by a fully automated deployment mechanism

  • Decentralization, service autonomy. Services can use different languages, different storage technologies

3.2. Distributed

3.2.1 The difficulty of distribution

  • remote call

  • service discovery

  • load balancing

  • Service fault tolerance

  • Configuration management

  • service monitoring

  • link tracking

  • log management

  • task scheduling

  • ......

3.2.2. Distributed solution

  • SpringBoot + SpringCloud

3.3. Cloud native

How native applications migrate to the cloud. Cloud Native

3.3.1. Difficulties in migrating to the cloud

  • Service self-healing (can the service be pulled up on other servers if the server is blown up)

  • Elastic scaling (automatically increase the number of servers during traffic peaks, and shut down the increased servers when the peak ends)

  • Service isolation (if there are different services A, B, and C on the same server, A, B, and C cannot interfere with each other)

  • Automated deployment

  • Grayscale release (version 2.0 needs to cover version 1.0, if all servers are covered at once, there may be problems, you need to cover some servers for verification, and then cover all of them slowly)

  • Traffic management (if a server has poor performance, the server processes less data)

  • ......

3.3.2, the solution to the cloud

 4. How to learn SpringBoot

4.1. Official document architecture

Official Address: Spring | Home

See what's new in the release;   https://github.com/spring-projects/spring-boot/wiki#release-notes

Guess you like

Origin blog.csdn.net/Mr_zhangyj/article/details/123809536