Spring Cloud介绍与环境搭建(一)

前言

使用Spring Cloud需要用到Spring boot的知识,如果没有相关经验,请参考Spring Boot的简单使用(二),做一个简单的入门。

Spring Cloud系列博客是基于MyEclipse开发工具的。

LAMP项目

传统的单体项目用一个LAMP结构就可以完成,L:Linux;A:Apache;M:MySQL;P:PHP。在一台服务器上,我们就能完成整个项目的搭建。

因为是放置于一个Apache服务器里,我们的项目结构一般就如下所示:


前端采用JSP等视图,后台采用servlet等MVC框架,整体项目采用Spring容器,持久层采用Hibernate或者MyBatis做数据连接。最后把我们编译好的项目打成war包(或者编译好的字节码文件),放到我们的Apache服务器里,启动服务,用户访问Tomcat服务器,就能获取到自己需要的信息。


但是,在这一个单一的服务器里,每当我们有新的代码需要发布,都会使得我们的war不断庞大,最后成为一个臃肿的怪物,启动耗时不必多说,所有的代码都放在一个war包里,万一某个class文件的一个方法出现了内存泄露,迎来的就是整个项目的宕机,如果是一个传统行业的项目,和客户说一下,调试解决可能就处理好问题了,但是,如果作为一个互联网行业的项目,可能停机一个小时,就意味着公司的破产倒闭。

单体项目的优化

把各个功能模块的代码写在一起的弊端,催生了面向服务架构(SOA)的出现,将耦合在一起的功能代码做拆分,每一个功能模块都作为单一的能力或服务,接入到平台上,如果其中某个服务宕机了,也不会影响整个项目的运行。


企业服务总线(Enterprise Service Bus,ESB)从面向服务架构(Service-Oriented Architecture,SOA)发展而来,是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上动态的互连互通,是一种在松散耦合的服务和应用之间标准的集成方式。

扫描二维码关注公众号,回复: 148213 查看本文章


微服务架构

微服务架构和面向服务架构在理念上是相同的,只不过微服务架构在服务的拆分上更细腻,譬如销售模块可以进一步拆分成“食品销售”和“玩具销售”。


关于NetFlix

Netflix是一个互联网影片提供商,是美国视频巨头,随着Netflix转型为一家云计算公司,Netflix公司成立了自己的开源中心,名称为Netflix Open Source Software Center,简称Netflix OSS

这个开源组织专注于大数据、云计算方面的技术,提供了多个开源框架,这些框架包括大数据工具、构建工具、基于云平台的服务工具等。

关于Spring Cloud

Spring Cloud本质上并不是一个具体的框架,它是一个工具箱,用于帮助我们构建一个微服务集群;

Spring Cloud是基于Spring Boot的,它封装了Netflix的框架;

Spring Cloud将Netflix与Spring容器进行了整合,很容易使用Spring的IOC、AOP等等功能。

Spring Cloud整合了哪些常用Netflix框架

Eureka:基于REST服务的分布式中间件,主要用于服务管理。

Hystrix:容错框架,通过添加延迟阀值以及容错的逻辑,来帮助我们控制分布式系统间组件的交互。

Feign:一个REST客户端,目的是为了简化Web Service客户端的开发

Ribbon:负载均衡框架。

Zuul:为微服务集群提供过代理、过滤、路由等功能。

Spring Cloud系列:

Spring Boot的简单使用(二)

Spring Cloud服务管理框架Eureka简单示例(三)

Spring Cloud服务管理框架Eureka项目集群(四)

猜你喜欢

转载自blog.csdn.net/mrspirit/article/details/79970306
今日推荐