springcloud是现在非常热门的一种java框架,为什么流行呢?
因为它的优点!
0.springcloud简单介绍?
-----------来自官方的介绍
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,
如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
微服务框架
0.1提供的技术组成?
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
-
Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。 -
Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件 -
Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装 -
Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用 -
Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用 -
Spring Cloud EurekaSpring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。
1.它的优点有哪些呢?
*集大成者,Spring Cloud 包含了微服务架构的方方面面。
*约定优于配置,基于注解,没有配置文件。
*轻量级组件,Spring Cloud 整合的组件大多比较轻量级,且都是各自领域的佼佼者。
*开发简便,Spring Cloud 对各个组件进行了大量的封装,从而简化了开发。
*开发灵活,Spring Cloud 的组件都是解耦的,开发人员可以灵活按需选择组件。
2.缺点有哪些呢?
*项目结构复杂,每一个组件或者每一个服务都需要创建一个项目。
*部署门槛高,项目部署需要配合 Docker 等容器技术进行集群部署,而要想深入了解 Docker,学习成本高。
*项目业务过于细节化,增加项目的复杂程度
3.个人评价:适用于中小型互联网公司,它可以做到快速开发并且成本低