首先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
建立一个新的项目 选择springboot 依赖只选择这个 cloudDiscovery下的EurekaServer
项目的结构是这个样子
然后打开resources下的application.properties文件 配置一下我们的注册中心
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的地址 这个后面也有其他写法 这里就不做过多的介绍了
在启动类加入@EnableEurekaServer的注解 表明这是EurekaServer 注册中心
在浏览器输入 localhost:7777 然后回车就能进入注册中心界面了 7777是我们设置的端口号 当然你开心随便设置为设么都可以
大家可以看到我红色圈上的地方 注册后的项目在这里显示
因为我们最先创建的注册中心 所以这里面是空的
接下来的文章中我们会讲解 提供者(Provider)消费者(Consumer)的写法