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

原创 2018年04月17日 14:36:36

前言

使用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采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放标准为基础来支持应用之间在消息、事件和服务级别上动态的互连互通,是一种在松散耦合的服务和应用之间标准的集成方式。


微服务架构

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


关于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 Cloud介绍与环境搭建(一)

Spring Boot的简单使用(二)

Spring Cloud服务管理框架Eureka简单示例(三)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MrSpirit/article/details/79970306

在VC中实现程序在启动时隐藏

    最近经常见论坛上有人问,程序在启动时如何隐藏。以下是我总结的一些方法,欢迎大家讨论,找出更好的方法。    对于这类问题,大家最容易想到的可能就是在PreCreateWindow中添加cs.s...
  • AttaBoy
  • AttaBoy
  • 2002-03-03 09:18:00
  • 1231

Spring Cloud_1_介绍与环境搭建

Spring Cloud介绍与环境搭建 1、单体应用 2、单体优化(架构演进) 针对单体应用的问题,参考SOA架构将模块划分独立的服务模块 面向服务的架构(SOA) 是一个组...
  • zhaozao5757
  • zhaozao5757
  • 2018-02-22 14:04:24
  • 43659

简单springboot及springboot cloud环境搭建

springboot使用特定的方式,简化了spring的各种xml配置文件,并通过maven或者gradle,完成所需依赖,使用springboot maven插件,可直接输出可运行的jar包,省去了...
  • u014320421
  • u014320421
  • 2017-07-12 23:03:29
  • 831

spring-cloud生产者环境搭建

开发工具idea,jdk1.8 1、新建一个maven项目 2、配置pom文件
  • zhangchangbin123
  • zhangchangbin123
  • 2017-12-02 12:31:04
  • 340

spring cloud之简单介绍

以下是来自官方的一篇简单介绍: Spring Cloud provides tools for developers to quickly build some of the common pat...
  • minicto
  • minicto
  • 2016-11-28 14:15:25
  • 63286

Spring Cloud简单介绍

以下是来自官方的一篇简单介绍: Spring Cloud provides tools for developers to quickly build some of the common pat...
  • a60782885
  • a60782885
  • 2017-04-02 12:22:23
  • 932

spring cloud视频教程

  • 2017年09月15日 22:05
  • 49B
  • 下载

Spring Cloud生态圈简介

说到Spring Cloud就不得不提一下微服务,什么是微服务呢?就是Microservice,字面意思来看就是小服务,小型服务,微小型服务,然而它是与传统服务的相对概念。承载传统服务的Web项目,所...
  • rickiyeat
  • rickiyeat
  • 2017-03-01 22:21:06
  • 12411

spring cloud搭建微服务second-fiberhome(一):spring boot工程搭建及config服务

本文采用spring cloud搭建微服务,用于学习spring cloud应用。其中,spring boot作为spring cloud的基础应用服务,以spring boot为基础建立spring...
  • moyu_2012
  • moyu_2012
  • 2017-05-26 17:26:22
  • 787

spring cloud系列(一) - 微服务架构介绍

什么是微服务架构? 微服务架构就是把一个大系统按业务功能分解成多个职责单一的小系统,并利用简单的方法使多个小系统相互协作,组合成一个大系统。就是把因相同原因而变化的功能聚合到一起,而把因不同原因而变...
  • gaopengsui
  • gaopengsui
  • 2018-03-04 11:06:46
  • 122
收藏助手
不良信息举报
您举报文章:Spring Cloud介绍与环境搭建(一)
举报原因:
原因补充:

(最多只允许输入30个字)