创作不易,关注、点赞,分享了解互联网前沿知识。
到底什么是Spring Boot
Spring Boot简化了基于Spring的应用开发,可以用少量代码创建独立的、产品级的Spring应用。Spring Boot提供Spring平台和第三方库的开箱设置,让你有条不紊的入门。
Spring Boot是Pivotal team提供的全新框架,其设计目的是简化新Spring应用程序的初始构建和开发过程。该框架使用特定的方式进行配置,因此开发人员不再需要定义样板配置。
到底什么是Spring Cloud
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利,巧妙地简化了分布式系统基础设施的开发,如服务发现和注册、配置中心、消息总线、负载平衡、断路器、数据监控等。
Spring Cloud是一个分布式服务治理框架。由于它是一个服务治理的框架,所以它不提供具体的功能操作,而是更侧重于服务之间的通信、融合和监控。
Spring Boot和Spring Cloud有什么关系
Spring Boot是Spring的一套快速配置脚手架,可以基于Spring Boot快速开发单个微服务。Spring Cloud是一款基于Spring Boot的云应用开发工具。Spring Cloud很大一部分是基于Spring Boot实现的,没有Spring Boot能实现吗?
Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。
微服务到底是什么
微服务到底是什么,一直众说纷纭,但行业里确实还没有一个标准的试金石来验证微服务的好与坏,微服务的 “酸甜苦辣” 可能只有用过了才知道。
来看个思维导图
国内中小型公司微服务现状
中小型公司一般是以做业务为主,未必要考虑多大的并发量。具体技术架构如下。
1 用Spring Boot+jpa做单机版的增删改查业务,数据库可以用免费的MySQL。
2 从公司层面,应该需要考虑业务部署,而且多少得考虑些高可用的因素。不管怎么说,不能直接在一个服务器上部署Spring Boot,所以多少得用些分布式组件。
3 在Spring Cloud Alibaba里,组件是现成的,开发人员一般只要通过配置就能用,具体可以用Gateway做网关,用Ribbon做负载均衡,用Sentinel做限流熔断等安全管理,当然还可以引入Redis,Kafka等工具。
4 而且Spring Cloud Alibaba做起微服务也方便,这也是业内的公识。
当然有其它的组件和体系可选,但Spring Cloud,以及Spring Cloud Alibaba确实是一个不错的选项。
微服务架构(Microservices)
微服务是一种架构风格,通过组合几个小服务来构建单个应用程序,这些服务是围绕业务能力而不是特定的技术标准构建的。采用轻量级通信机制和自动部署机制,实现通信和运维。
“微服务”这个技术术语最早是在2005年提出的,最早是由Peter Rodgers博士在2005年的云计算博览会上使用的。微服务真正兴起是在2014年。
微服务具备以下特点
1、围绕业务能力构建(Organized around Business Capability)。
2、分散治理(Decentralized Governance)。
3、通过服务来实现独立自治的组件(Componentization via Services)。
4、产品化思维(Products not Projects)。
5、数据去中心化(Decentralized Data Management)。
6、强终端弱管道(Smart Endpoint and Dumb Pipe)。
7、容错性设计(Design for Failure)。
8、演进式设计(Evolutionary Design)。
9、基础设施自动化(Infrastructure Automation)。