首先SpringCloud是用于分布式项目的

项目目前分为单体式和分布式

单体式就是项目所有源码合归一处,缺点是项目迭代不灵活,项目并发配置不灵活,项目部署拓展困难。

而分布式与单体式相反,有点事项目复杂度降低,团队界限明确,部署灵活。但是缺点是麻烦

分布式框架有阿里的dubbo和dubboX 由当当改良 基于RPC通信

还有就是我们要说的SpringCloud Spring团队开发 基于RESTful HTTP

技术架构(技术选型)

vue Nginx

Spring cloud zuul GateWay

Spring cloud Fedin

Spring cloud Hystrix

Spring cloud Ribbon

Spring cloud Eureka

架构设计:Git Sonar

运行:Eureka,Hystrix,Fegin

虚拟化技术:Docker DockerCompose Jenkins

分布式日志处理:ELK+Kafka Sleuth

业务实现:RabbitMQ Redis

部署实现:Config zuul ribbon

数据操作:MyCat ES

第三方接入:各种第三方支付登录

集成测试:JMeter

--------------------分割

我们搭建一个最简单的分布式项目 很快就能看到效果的

首先我们需要一个注册中心(center) 一个提供者(Provider)

一个消费者(Consumer)

提供者和消费者之间的信息传输由注册中心传递 他们也由注册中心连接在一起

那么现在说一下怎么建立注册中心

我用的是idea




SpringCloud Kubernetes在idea中如何运行 idea搭建springcloud项目_spring


建立一个新的项目 选择springboot 依赖只选择这个 cloudDiscovery下的EurekaServer


SpringCloud Kubernetes在idea中如何运行 idea搭建springcloud项目_springcloud 搭建_02


项目的结构是这个样子

然后打开resources下的application.properties文件 配置一下我们的注册中心


SpringCloud Kubernetes在idea中如何运行 idea搭建springcloud项目_springcloud搭建_03


spring.application.name是我们这个注册中心的名字

server.port是端口号

eureka.instance.hostname是IP地址 在本机跑的demo所以就用localhost了

eureka.clent.fetch-registry 是否将自己将自己注册到EurekaServer上 因为这个就是EurekaServer 也就是注册中心 这个默认为true 所以将这个配置为false

eureka.client.register-with-eureka 是否从EurekaServer获取注册信息 默认为true

配置为false 理由同上

eureka.client.service-url.defaultZone 设置Eureka的地址 这个后面也有其他写法 这里就不做过多的介绍了


SpringCloud Kubernetes在idea中如何运行 idea搭建springcloud项目_端口号_04


在启动类加入@EnableEurekaServer的注解 表明这是EurekaServer 注册中心

在浏览器输入 localhost:7777 然后回车就能进入注册中心界面了 7777是我们设置的端口号 当然你开心随便设置为设么都可以


SpringCloud Kubernetes在idea中如何运行 idea搭建springcloud项目_ide_05


大家可以看到我红色圈上的地方 注册后的项目在这里显示

因为我们最先创建的注册中心 所以这里面是空的

接下来的文章中我们会讲解 提供者(Provider)消费者(Consumer)的写法