Code Monkey home page Code Monkey logo

sca-best-practice's Introduction

SCA Best Practice

本项目是 SCA(Spring Cloud Alibaba) 的最佳实践项目,里面主要包含了两部分,codeless-framework和sca-best-practice。

codeless-framework是一个基于spring boot之上封装的Web开发框架,内置了标准的增删改查、分页查询等功能,支持只写一个Entity,即可完成一个资源的开发。同时,codeless-framework也封装了国际化、异常处理、返回值等常见的web开发功能。

sca-best-practice是SCA(Spring Cloud Alibaba)的一个Demo示例,里面包含了SCA中各组件的基本用法。

快速体验

  • 首先请下载以下微服务组件服务端,请将以下文件都下载到同一个目录当中,以下简称为工作目录,例如/home/user/temp。

http://sca-best-practice.oss-cn-hangzhou.aliyuncs.com/nacos-server-0.7.0.zip

http://sca-best-practice.oss-cn-hangzhou.aliyuncs.com/sentinel-dashboard-1.4.0.jar

http://sca-best-practice.oss-cn-hangzhou.aliyuncs.com/rocketmq-all-4.3.2-bin-release.zip

http://sca-best-practice.oss-cn-hangzhou.aliyuncs.com/redis-5.0.3.tar.gz

  • 将本项目clone到本地,然后在项目根目录执行以下命令,即可启动整个项目,其中包括微服务组件服务端和示例应用。
# mac/unix 系统
sh startup.sh /home/user/temp(你的工作目录)
# windows 系统
暂时不支持,开发中,欢迎共建
  • 可以使用以下命令,验证项目是否成功启动。
创建一个用户
curl -H "Content-Type: application/json" -X POST --data '{"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}' http://127.0.0.1:10001/user/add
{"code":"YA-200","message":"成功","data":{"userId":1,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}}

查询一个用户(userId参数值请根据创建的结果调整)
curl http://127.0.0.1:10001/user/get?userId=1
{"code":"YA-200","message":"成功","data":{"userId":1,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}}

更新用户信息(userId参数值请根据创建的结果调整)
curl -H "Content-Type: application/json" -X PUT --data '{"userId":1,"userName":"chenzhutest2","password":"chenzhutest2","phone":"18888888888"}' http://127.0.0.1:10001/user/modify
{"code":"YA-200","message":"成功","data":{"userId":1,"userName":"chenzhutest2","password":"chenzhutest2","phone":"18888888888"}}

删除一个用户(userId参数值请根据创建的结果调整)
curl -X DELETE http://127.0.0.1:10001/user/delete?userId=1
{"code":"YA-200","message":"成功"}

创建一个用户
curl -H "Content-Type: application/json" -X POST --data '{"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}' http://127.0.0.1:10001/user/add
{"code":"YA-200","message":"成功","data":{"userId":2,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}}

查询所有用户
curl http://127.0.0.1:10001/user/list
{"code":"YA-200","message":"成功","data":[{"userId":2,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}]}

根据ID集合查询用户(userId参数值请根据创建的结果调整)
curl http://127.0.0.1:10001/user/listById?userId=2
{"code":"YA-200","message":"成功","data":[{"userId":2,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}]}

分页查询用户
curl "http://127.0.0.1:10001/user/listByPage?page=1&size=10"
{"code":"YA-200","message":"成功","data":{"page":0,"size":10,"totalNumber":1,"totalPage":1,"result":[{"userId":2,"userName":"chenzhutest1","password":"chenzhutest1","phone":"18866668888"}]}}

通过gateway访问分布式配置服务
curl http://127.0.0.1:9999/user-center/example/testConfig
{"code":"YA-200","message":"成功","data":"Hello, chenzhu"}

通过gateway发送一条消息
curl http://127.0.0.1:9999/user-center/example/testMq
{"code":"YA-200","message":"成功","data":"true"}

通过gateway访问redis服务
curl http://127.0.0.1:9999/user-center/example/testRedis
{"code":"YA-200","message":"成功","data":"Hello, chenzhu!"}

通过gateway使用feign客户端进行服务调用
curl http://127.0.0.1:9999/order/example/testService
{"code":"YA-200","message":"成功","data":"{\"code\":\"YA-200\",\"message\":\"成功\",\"data\":[{\"userId\":2,\"userName\":\"chenzhutest1\",\"password\":\"chenzhutest1\",\"phone\":\"18866668888\"}]}"}

通过浏览器打开以下地址,可以看到sentinel和nacos的控制台
http://127.0.0.1:8848/nacos
http://127.0.0.1:12000
  • 在项目根目录执行以下命令,即可停止整个项目,其中包括微服务组件服务端和示例应用。
# mac/unix 系统
sh shutdown.sh /home/user/temp(你的工作目录)
# windows 系统
暂时不支持,开发中,欢迎共建

sca-best-practice's People

Contributors

rojeralone avatar xiaolongzuo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sca-best-practice's Issues

征集最佳实践业务场景,欢迎踊跃发言。

该项目计划做一个具有实际业务场景的最佳实践项目,例如电商网站、博客网站等,甚至是一个创业的Idea都可以。

如果你有什么好的想法,或者什么感兴趣的业务,欢迎在这里一起讨论。

和swagger结合

想把自动生成的api和swagger结合,请问有什么办法吗,目前swagger里不显示动态的这些url。

想法

之前有想过做个关于在线教育的,专注在线IT类教育,现在市场线下IT教育水平参差不齐,想做个线上的平台

Create config failed.

I even use sudo in Ubuntu 18.04.

itc@itc:~/hanlpapi$ sudo bash startup.sh /home/itc/hanlpapi/workspace/
Nacos start success.
Sentinel-dashboard start success.
Mqnamesrv start success.
Mqbroker start success.
Redis start success.
Waiting for servers start...
Remain 59 seconds : Checking servers is started successfully.
Remain 58 seconds : Checking servers is started successfully.
Remain 57 seconds : Checking servers is started successfully.
Remain 56 seconds : Checking servers is started successfully.
Remain 55 seconds : Checking servers is started successfully.
Remain 54 seconds : Checking servers is started successfully.
Remain 53 seconds : Checking servers is started successfully.
Remain 52 seconds : Checking servers is started successfully.
Remain 51 seconds : Checking servers is started successfully.
Remain 50 seconds : Checking servers is started successfully.
Remain 49 seconds : Checking servers is started successfully.
Remain 48 seconds : Checking servers is started successfully.
Remain 47 seconds : Checking servers is started successfully.
Remain 46 seconds : Checking servers is started successfully.
Remain 45 seconds : Checking servers is started successfully.
Remain 44 seconds : Checking servers is started successfully.
Remain 43 seconds : Checking servers is started successfully.
Remain 42 seconds : Checking servers is started successfully.
Remain 41 seconds : Checking servers is started successfully.
Remain 40 seconds : Checking servers is started successfully.
Remain 39 seconds : Checking servers is started successfully.
Remain 38 seconds : Checking servers is started successfully.
Remain 37 seconds : Checking servers is started successfully.
Remain 36 seconds : Checking servers is started successfully.
Remain 35 seconds : Checking servers is started successfully.
Remain 34 seconds : Checking servers is started successfully.
Remain 33 seconds : Checking servers is started successfully.
Remain 32 seconds : Checking servers is started successfully.
Remain 31 seconds : Checking servers is started successfully.
Remain 30 seconds : Checking servers is started successfully.
Remain 29 seconds : Checking servers is started successfully.
Remain 28 seconds : Checking servers is started successfully.
Remain 27 seconds : Checking servers is started successfully.
Remain 26 seconds : Checking servers is started successfully.
Remain 25 seconds : Checking servers is started successfully.
Remain 24 seconds : Checking servers is started successfully.
Remain 23 seconds : Checking servers is started successfully.
Remain 22 seconds : Checking servers is started successfully.
Remain 21 seconds : Checking servers is started successfully.
Remain 20 seconds : Checking servers is started successfully.
Remain 19 seconds : Checking servers is started successfully.
Remain 18 seconds : Checking servers is started successfully.
Remain 17 seconds : Checking servers is started successfully.
Remain 16 seconds : Checking servers is started successfully.
Remain 15 seconds : Checking servers is started successfully.
Remain 14 seconds : Checking servers is started successfully.
Remain 13 seconds : Checking servers is started successfully.
Remain 12 seconds : Checking servers is started successfully.
Remain 11 seconds : Checking servers is started successfully.
Remain 10 seconds : Checking servers is started successfully.
Remain 9 seconds : Checking servers is started successfully.
Remain 8 seconds : Checking servers is started successfully.
Remain 7 seconds : Checking servers is started successfully.
Remain 6 seconds : Checking servers is started successfully.
Remain 5 seconds : Checking servers is started successfully.
Remain 4 seconds : Checking servers is started successfully.
Remain 3 seconds : Checking servers is started successfully.
Remain 2 seconds : Checking servers is started successfully.
Remain 1 seconds : Checking servers is started successfully.
Remain 0 seconds : Checking servers is started successfully.
Servers has been started successfully.
Create config failed.

Why I use bash instead of sh?
BTW: you must use dos2unix to convert the script into Linux CR/CF format.

Spring Cloud Alibaba 版本更新

Spring Cloud Alibaba 版本更新,sca-best-practice 是否也需要跟着一起升级?
能否补充一下,项目设计文档,目录结构等。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.