Spring Cloud

Spring Cloud-honghu Cloud分布式微服务云系统--云架构代码结构构建

早过忘川 提交于 2020-03-11 11:35:34
根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现、治理、配置化管理、路由负载、安全控制等优秀解决方案,使用Maven技术将框架进行模块化、服务化、原子化封装并构建,也为后期的灰度发布、持续集成提前做好准备工作 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关问题的处理(这里不再重复介绍) Spring Cloud云架构使用maven来构建,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核心作用,那就是将整个项目按照模块化的方式进行划分,业务与业务之间解耦,然后将模块化的业务再进行服务化或者组件化,这样可以进行任意的项目或者平台的业务移植 最后还要考虑到服务的细粒度拆分,比如:一个登录的模块,我们可以将所有跟登录有关系的业务进行服务化(基础信息验证;用户名、邮箱、手机验证登录;手机验证码获取;验证用户是否绑定等),最后针对于多服务进行服务的编排,这样就做到了正在的微服务架构 以上是我在做项目或架构的一些经验分享给大家 下面讲一下整个架构的代码结构: 系统服务 通用组件 业务服务 这里只是简单的描述了一下HongHu云架构代码结构。 分布式的一些解决方案,有愿意了解的朋友可以找我们团队探讨技术支持 1791743380 来源: oschina 链接: https://my.oschina.net/u/3826344/blog

RuoYi-plus:关于服务网关Zuul和Gateway的区别和联系

六眼飞鱼酱① 提交于 2020-03-11 10:58:47
RuoYi-plus3.0已经升级,v3.0版本中选择了Gateway作为服务网关。选择之前作者也在常用的网关服务Zuul和Gateway之间做徘徊,经过翻阅和搜集一些资料,最终选择了Gateway,那么让我们看看两者之间的区别和联系吧。 本文中的zuul,指的是zuul1.x,springcloud暂没有整合zuul2.x的计划,gateway是springcloud重点扶持的子项目,固仅在zuul1.x和gateway做比较。 Spring Cloud Gateway 基本介绍:Spring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技术开发的网关,Spring Cloud Gateway旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway作为Spring Cloud生态系中的网关,目标是替代Netflix ZUUL,其不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等。 性能介绍:WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。Spring webflux 有一个全新的非堵塞的函数式 Reactive Web

RuoYi-plus:一款由SpringBoot2.x,springcloudG开发的SMP多商户权限管理系统+API接口服务微服务架构,可选性后台管理系统或后端接口服务。

一世执手 提交于 2020-03-11 10:01:13
通知!!! RuoYi-plusv3.0版本介绍: 成功集成多商户管理模式,完美的与基础框架相融合,多商户模式下,不需要增加复杂的代码逻辑即可完成多商户管理模式。 核心模块API服务增加网关gateway基础版本。 升级了代码生成模块,更大限度的提高了开发效率。 优化了部分API代码质量,删除了大量冗余代码。 修复原框架部分bug 数据库脚本请加QQ群,在群文件下载。 【技术支持群】687672649 【技术交流群】751872263 项目介绍 架构技术: 基于SpringBoot2.x, springcloud G版本eureka、hystrix、feign、config、gateway微服务架构体系的全新版本,集成redis、quartz、tk.mybatis、lombok、各种设计模式等。 项目优势: 架构更清晰、技术更前沿、代码更整洁、页面更美观, 可用于OA系统、 CRM系统、 PDM系统等二次开发,微服务架构学习,非常适用于公司管理平台旧版本升级、新平台搭建快速整合、同时也是接私活利器。同时提供API接口服务(供APP、微端、h5等使用)。 项目架构 通用模块架构: zebra-yritsz-smp-parent模块:所有项目父类,负责jar的依赖和版本管理。 zebra-yritsz-commons-dbean模块:通用db和bean。 zebra-yritsz

springcloud服务注册与发现(二)

ε祈祈猫儿з 提交于 2020-03-10 09:22:51
Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。而Spring Cloud Netflix项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。 服务注册中心 :eureka-server 新建一个springboot项目:eureka-server,其pom.xml配置如下 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud<

我的Spring Cloud(三):Eureka Client 服务提供者

风流意气都作罢 提交于 2020-03-09 17:44:46
一、创建一个子工程并引入配置如下: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.0.2.RELEASE</version> </dependency> 二、创建application.yml,添加相关配置如下: server: port: 8010 spring: application: name: provider eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true 属性说明 * spring.application.name : 当前服务注册在 Eureka Server 上的名称。 * eureka.client.service-url.defaultZone : 注册中⼼的访问地址。 * eureka.instance.prefer-ip-address : 是否将当前服务的 IP 注册到 Eureka Server。 三、创建启动类,代码如下 package com.frr;

spring cloud config 从0到1

China☆狼群 提交于 2020-03-09 11:08:53
一、简介 1.为什么要配置中心? 随着系统微服务的不断增加,首要考虑的是系统的可伸缩、可扩展性好,随之就是一个配置管理的问题。各自管各自的开发时没什么问题,到了线上之后管理就会很头疼,到了要大规模更新就更烦了。 配置中心就是一个比较好的解决方案,下图就是一个配置中心的解决方案: 常见的配置中心的实现方法有: 硬编码(缺点:需要修改代码,风险大) 放在xml等配置文件中,和应用一起打包(缺点:需要重新打包和重启) 文件系统中(缺点:依赖操作系统等) 环境变量(缺点:有大量的配置需要人工设置到环境变量中,不便于管理,且依赖平台) 2.spring cloud config 特性 集中式管理分布式环境下的应用配置 配置存储默认基于 git 仓库,可进行版本管理 基于spring环境和Spring应用无缝集成 提供服务端和客户端支持(java) 基于restful接口获取配置,客户端可实现多语言 可集群部署,实现高可用 配合eureke可实现服务发现,配合cloud bus可实现配置推送更新 支持数据结构丰富,yml, json, properties 演示图 配置数据存储在Git等版本仓库中 Config Server获取最新的配置数据 Config Client基于restful接口获取配置 二、初级使用 1.构造config server (1) pom.xml依赖 <parent>

企业分布式微服务云SpringCloud SpringBoot mybatis (十二)断路器监控(Hystrix Dashboard)

混江龙づ霸主 提交于 2020-03-08 15:50:59
在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。 一、Hystrix Dashboard简介 在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。 二、准备工作 本文的的工程栗子,来源于第一篇文章的栗子,在它的基础上进行改造。 三、开始改造service-hi 在pom的工程文件引入相应的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework

Spring Cloud Gateway

帅比萌擦擦* 提交于 2020-03-06 22:14:06
1、 After Route Predicate Factory 输入一个参数:时间,匹配该时间之后的请求,示例配置: spring: cloud: gateway: routes: - id: after_route uri: https://anoyi.com predicates: - After=2019-11-11T11:11:11.111 08:00[Asia/Shanghai] 2、Before Route Predicate Factory 输入一个参数:时间,匹配该时间之前的请求,示例配置: spring: cloud: gateway: routes: - id: before_route uri: https://anoyi.com predicates: - Before=2019-11-11T11:11:11.111 08:00[Asia/Shanghai] 3、Between Route Predicate Factory 输入两个参数:时间1、时间2,匹配该时间段的请求,示例配置: spring: cloud: gateway: routes: - id: between_route uri: https://anoyi.com predicates: - Between=2019-11-10T11:11:11.111 08:00[Asia

springcloud Eureka 注册中心/服务发现框架

元气小坏坏 提交于 2020-03-06 14:37:43
Eureka注册中心/服务发现框架 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 Eureka包含两个组件:Eureka Server和Eureka Client。 Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。 Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。 在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。 Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉

Spring Cloud Zookeeper搭建实例

▼魔方 西西 提交于 2020-03-04 19:36:18
1. 简介 本文将介绍如何使用 Zookeeper 在微服务框架中实现服务发现,该服务发现机制可作为云服务的注册中心。通过 Spring Cloud Zookeeper 为应用程序提供一种Spring Boot集成,将Zookeeper通过自动配置和绑定 的方式集成到Spring环境中。 在本例子中我们将创建两个应用程序: 提供服务的应用程序(称为 服务提供者 ) 使用此服务的应用程序(称为 服务消费者 ) 2. 安装Zookeeper 2.1 下载 Apache官方最新版本为:3.4.8 下载地址: http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz 2.2 安装 解压到指定目录下 D:\soft\zookeeper-3.4.8 修改zoo_sample.cfg 文件名(D:\soft\zookeeper-3.4.8\conf) 为 zoo.cfg 主要修改一下日志位置,具体配置文件如下: # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 #