Spring Cloud(一)

Spring Cloud概述

1.1 基于SOA系统架构

面向服务的架构,是一种程序开发架构的设计思想。它将不同的功能单元使用一个作为独立的程序运行,并且提供访问的入口(将这些单独运行的每个程序称为服务)。

一个SOA架构的web应用程序,是多个服务组成的!!!

SOA架构的思想就是用于实现,程序分布式的。所以我们也可以将SOA架构的思想理解为分布式架构的思想。

1.1 Spring Cloud的作用

问题以上SOA架构这样的系统架构有什么问题

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

答:(1)无法检查服务的健康状态(服务是否可用)。

   2)无法对服务进行管理。

我们可以通过一个框架来,解决这些问题。那就是Spring Cloud

Spring Cloud通过一个注册中心(Eureka),统一管理了整个分布式系统的服务接口。

所有的服务(子系统)在对外提供服务(接口)之前,必须要在注册中心中注册。我们开发人员就可以在注册中心中,查看整个分布式系统的所有服务!!

我们SOA概念中称为服务系统的东西,在Spring cloud有一个新的名字,叫实例(instance,实例系统)! 

1.1 为什么要学习Springcloud

Springcloud是提供了一整套企业级分布式云应用的完美解决方案,能够结合Spring BootSpring其它组件,实现快速开发的目的

企业级开发越来越倾向Spring生态体系。当然也包括SpringCloud了。

1.2 如何学习SpringCloud

我们学习Spring Cloud首先要学习什么东西呢?

答:(1)必须要将Eureka配置成功

   2)实例是如何将服务在Eureka注册的

   3)如何在Eureka查看整个分布式系统所有实例对外提供的服务(发现服务)

   4)实例域实例之间是如何通讯的(远程调用)

入门示例

1.1 配置步骤

第一步:配置Eureka服务器

第二步:创建注册服务实例(Eureka客户端-注册服务@EnableEurekaClient)

第三步:创建发现服务实例(Eureka客户端-发现服务@EnableDiscoveryClient)

第四步:实现发现服务实例调用注册服务实例的示例。

1.1 第一部分:配置Eureka服务器(注册中心)

--注意实现

1.Eclipse配置Spring Cloud必须先安装好 spring tool suite 插件。否则配置文件没有提示!!

2.Spring Cloud框架的jar都是由maven或者gradle构建工具获得的。我们主流使用的是Maven。所以创建的maven项目

1.1.1 第一步:创建一个maven项目


1.1.2 
第二步:在Spring官方网站,生成代码 

地址为:https://start.spring.io/

注意事项:必须要勾上Eureka Server选项



--生成代码包如下

我们需要将生成好的代码的pom.xml文件的依赖加入到我们的项目!!!!!

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>cn.gzsxt.springcloud</groupId>

  <artifactId>springcloud-demo-01-eureka</artifactId>

  <version>1.0</version>

  

  <parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.19.RELEASE</version>

<relativePath/> <!-- lookup parent from repository -->

</parent>

<properties>

<java.version>1.8</java.version>

<spring-cloud.version>Edgware.SR5</spring-cloud.version>

</properties>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<dependencyManagement>

<dependencies>

<!-- springcloud版本锁定 -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>${spring-cloud.version}</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

  

</project>

猜你喜欢

转载自www.cnblogs.com/weishenme/p/11290910.html