ERatel Aries Common

for SpringCloud canary

License

License

GroupId

GroupId

com.github.eratel
ArtifactId

ArtifactId

aries-common
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

pom
Description

Description

ERatel Aries Common
for SpringCloud canary
Project URL

Project URL

https://github.com/eratel

Download aries-common

Filename Size
aries-common-1.0.0.pom 1 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.eratel/aries-common/ -->
<dependency>
    <groupId>com.github.eratel</groupId>
    <artifactId>aries-common</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.eratel/aries-common/
implementation 'com.github.eratel:aries-common:1.0.0'
// https://jarcasting.com/artifacts/com.github.eratel/aries-common/
implementation ("com.github.eratel:aries-common:1.0.0")
'com.github.eratel:aries-common:pom:1.0.0'
<dependency org="com.github.eratel" name="aries-common" rev="1.0.0">
  <artifact name="aries-common" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.eratel', module='aries-common', version='1.0.0')
)
libraryDependencies += "com.github.eratel" % "aries-common" % "1.0.0"
[com.github.eratel/aries-common "1.0.0"]

Dependencies

compile (5)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-web jar
org.springframework.cloud : spring-cloud-starter-openfeign jar
org.springframework.cloud : spring-cloud-starter-netflix-zuul jar
org.springframework.cloud : spring-cloud-starter-netflix-ribbon jar
com.google.guava : guava jar 27.0.1-jre

provided (3)

Group / Artifact Type Version
com.lmax : disruptor jar 3.3.7
org.apache.logging.log4j : log4j-1.2-api jar
org.apache.logging.log4j : log4j-slf4j-impl jar

Project Modules

There are no modules declared in this project.

ERatel Aries

License Maven Central Javadocs Build Status Codacy Badge

Aries 是一款超轻量级灰度框架,针对现有的SpringCloud微服务部署痛点,解决多部署问题。可以让你在机器中单独启动一个服务,解决本机调试使用启动多个服务的痛苦。

解决的痛点

  • 作为一个开发人员,当你准备修复一个bug时,或者开发时。需要启动多个服务进行开发,前端联调服务巨卡。导致联调效率低下。
  • 作为一个运维人员,测试环境被无意的注册,测试无法正常工作。
  • 作为一个测试人员,希望可以实现金丝雀测试,完成单个功能点测试,一个循序渐进过程。

功能简介

  • Aries是在 Spring Cloud框架基础上,实现的微服务金丝雀发布框架。兼容 Spring Cloud Gateway和Zuul,下面说一下他的功能特性
    • 具有极大的灵活性 - 易于在Aries进行二次开发
    • 具有极简的易用性 - 只需要引入相关的包同时规则里含有了对应的配置,该功能将自然启动

快速开始

  • 使用postMan进行测试 网关使用SpringCloud Zuul 直接在pom文件中依赖
  • SpringRequest Header 中传入参数为 strategyVersion = xxx 为你定义的版本号
        <dependency>
            <groupId>com.github.eratel</groupId>
            <artifactId>aries-zuul</artifactId>
            <version>1.0</version>
        </dependency>
  • Server 服务直接依赖 直接在pom文件中依赖
        <dependency>
            <groupId>com.github.eratel</groupId>
            <artifactId>aries-start-server</artifactId>
            <version>1.0</version>
        </dependency>
  • Server 配置Eureka元数据 strategyVersion 为你的版本号
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
    metadata-map:
     strategyVersion: xxx
  • 至此配置已经完成

测试阶段

Alt text

MVN 中央仓库 jar包查找

Alt text

架构图

Alt text

规则示例

  • 下载源码查看及简示例
    • aries-example-eureka
    • aries-example-server
    • aries-example-zuul

使用方式

  • ⚠️ 特别注意:网关与普通server引入jar不是同一个jar。需要进行区别~
  • ⚠️ 特别注意:已经放入到MVN中央仓库 搜索com.github.eratel
        <dependency>
            <groupId>com.github.eratel</groupId>
            <artifactId>aries-zuul</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.eratel</groupId>
            <artifactId>aries-start-server</artifactId>
            <version>1.0.0</version>
        </dependency>

关于开源

  • LICENSE 使用 Apache License Version 2.0, January 2004
  • 二次开发,或开发新需求,拓展,请联系作者。在本开源基础上进行开发,烦请告知。

关于我

添加我的微信发送暗号加入群聊就可拉入微信群

Alt text

更多消息请关注我的公众号,订阅更多技术文章

Alt text

Versions

Version
1.0.0