Skip to content

使用Grails,进行基于SpringCloud的微服务架构开发Demo

License

Notifications You must be signed in to change notification settings

raistlinzx/spring-cloud-grails-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Cloud Demo - 微服务框架示例

SpringCloud介绍

SpringCloudConfig图示

部分组件说明

  • configserver

    配置服务组件。作为基础服务,为其他组件提供可实时生效的配置文件更新服务。 配置文件基于Git, 注:需修改对应Git服务配置

  • discovery

    服务注册组件。为各个微服务提供注册及生命周期管理

  • apiproxy

    服务代理组件。为各个微服务提供统一访问的代理入口,结合Robbin可以实现客户端的负载均衡实现

  • hystrix

    服务监控组件。为各个微服务提供监控状态服务,同时为微服务方法提供fallbackMethod

组件编译及启动方法

依赖包

  • Docker & Docker-Compose

    具体安装方法请参照 此链接

  • Grails 3.1.10

  • Gradle 3.0

服务组件编译

注:编译最后可能会报错。报错是因为docker push命令提示未授权,不用管它

编译 configserver

修改配置 configserver/src/main/resources/application.yml

spring:
  cloud:
    config:
      server:
        git:
          # 这里修改为你的git服务地址,用户名及密码
          uri: http://xxxxx/demo/cloud-config-repo.git
          username: xxxx #你的用户名
          password: xxxx #你的密码
cd configserver
gradle buildDocker

编译 discovery

cd discovery
gradle buildDocker

编译 apiproxy

cd apiproxy
gradle buildDocker

编译 hystrix

cd hystrix
gradle buildDocker

服务组件启动方法

cd docker
docker-compose up

( 如想暂停,同时按Ctrl+C )

第一次使用up参数启动成功以后,如果想后台运行服务组件,命令如下:

启动:

cd docker
docker-compose start

停止:

cd docker
docker-compose stop

DEMO测试

运行用户微服务

项目目录 user-ms。需要 Grails 3.1.10

运行命令:

grails run-app

成功运行以后,测试REST服务

运行业务DEMO

项目目录 business-demo。需要 Grails 3.1.10

运行命令:

grails run-app --port=8090

成功运行以后,使用RestBuilder远程访问服务测试

http://localhost:8090/demo

参考资料

待开发功能

  • 事件驱动型事务DEMO

    基于消息中间件(如RabbitMQ,Kafka等),实现分布式的消息驱动事务处理,例如:用户注册自动发优惠券,用户下单消费

About

使用Grails,进行基于SpringCloud的微服务架构开发Demo

Resources

License

Stars

Watchers

Forks

Packages

No packages published