micro

Spring Boot 的微服务示例项目,搭配 Kotlin 和 Spring Cloud 生态,功能分得清,结构也比较清爽,适合入门也适合参考架构设计思路。服务拆分、配置中心、网关、分布式追踪这些全都带了,算是个比较完整的模板了。

Spring Cloud Netflix 的组合用得还挺顺手,像 Eureka 做服务注册发现,Hystrix 搞容错,Feign 让服务间的调用像本地写接口一样,写起来轻松,维护起来也不累。

再说说 配置中心Spring Cloud Config 支持多环境配置,版本控制也方便。你开发、测试、上线都能用一套配置逻辑,挺省事的。要查调用链的话,配上 Sleuth + Zipkin,一条链路串到底,排查问题不发愁。

项目里还用了 Spring Cloud Gateway,新一代网关框架,写路由、做限流、统一鉴权都能搞定。响应也快,扩展性不错,比传统的 Zuul 更适合新项目。

WebFlux 用起来比较现代,走响应式那一套,高并发场景挺合适。虽然刚上手有点绕,但一旦摸清了套路,性能提升还是看得见的。

另外一个亮点是用了 WebJars,像引前端库(比如 Bootstrap、jQuery)的时候不用再配置 CDN 或者手动拷文件了,直接打包成 JAR 丢进项目就行,Spring Boot 项目里一引用就生效,挺方便。

构建工具是 GradleKotlin DSL,比传统的 Groovy 配置更清晰。写构建脚本像写业务逻辑一样,有代码提示,查错也方便。

如果你正在搞微服务,或者想看看 Spring Boot + Kotlin 在项目里怎么搭配的,这个项目真的可以拿来当个参考模版,用起来顺手,还不失灵活性。

zip
microservices-example-master.zip 预估大小:59个文件
folder
microservices-example-master 文件夹
file
gradlew 6KB
folder
ui-gateway 文件夹
file
build.gradle.kts 2KB
folder
src 文件夹
folder
test 文件夹
folder
resources 文件夹
file
bootstrap.yml 49B
file
application.yml 54B
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
uigateway 文件夹
file
UiGatewayApplicationTests.kt 1KB
folder
main 文件夹
folder
resources 文件夹
file
bootstrap.yml 86B
file
keystore.p12 3KB
folder
templates 文件夹
file
login.html 1KB
folder
static 文件夹
folder
images 文件夹
file
logo.png 9KB
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
uigateway 文件夹
folder
config 文件夹
file
RoutesConfig.kt 1KB
file
SecurityConfig.kt 2KB
file
UiGatewayApplication.kt 292B
folder
misc 文件夹
file
AddCredentialsGlobalFilter.kt 1006B
file
build.gradle.kts 1KB
folder
config-server 文件夹
file
build.gradle.kts 891B
folder
src 文件夹
folder
test 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
configserver 文件夹
file
ConfigServerApplicationTests.kt 460B
folder
main 文件夹
folder
resources 文件夹
folder
config 文件夹
file
items-service.yml 115B
file
eureka-server.yml 97B
file
ui-gateway.yml 641B
file
items-ui.yml 152B
file
application.yml 157B
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
configserver 文件夹
file
ConfigServerApplication.kt 387B
folder
etc 文件夹
folder
images 文件夹
file
sleuth_tracing.png 5KB
file
diagram.png 15KB
file
run_dashboard.png 7KB
file
.travis.yml 243B
file
LICENSE 11KB
folder
gradle 文件夹
folder
wrapper 文件夹
file
gradle-wrapper.properties 200B
file
gradle-wrapper.jar 57KB
file
gradlew.bat 3KB
file
gradle.properties 194B
file
.gitignore 59B
file
readme.md 5KB
folder
items-ui 文件夹
file
build.gradle.kts 1KB
folder
src 文件夹
folder
test 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
itemsui 文件夹
file
RouterTest.kt 1KB
folder
main 文件夹
folder
resources 文件夹
file
bootstrap.yml 84B
folder
templates 文件夹
file
example.html 648B
file
greeting.html 594B
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
itemsui 文件夹
folder
service 文件夹
file
ItemsServiceClient.kt 691B
file
ItemsServiceFeignClient.kt 1KB
file
ItemsUiApplication.kt 483B
folder
exception 文件夹
file
ItemsUiException.kt 117B
folder
config 文件夹
file
BeansConfig.kt 842B
file
RoutesConfig.kt 2KB
file
settings.gradle.kts 604B
folder
eureka-server 文件夹
file
build.gradle.kts 982B
folder
src 文件夹
folder
test 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
eurekaserver 文件夹
file
EurekaServerApplicationTests.kt 517B
folder
main 文件夹
folder
resources 文件夹
file
bootstrap.yml 89B
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
eurekaserver 文件夹
file
EurekaServerApplication.kt 395B
folder
items-service 文件夹
file
build.gradle.kts 1KB
folder
src 文件夹
folder
test 文件夹
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
itemsservice 文件夹
folder
web 文件夹
file
RestApiTest.kt 3KB
folder
main 文件夹
folder
resources 文件夹
file
bootstrap.yml 89B
folder
kotlin 文件夹
folder
io 文件夹
folder
microservicesexample 文件夹
folder
itemsservice 文件夹
folder
model 文件夹
file
Item.kt 111B
file
ItemsServiceApplication.kt 301B
folder
exception 文件夹
file
ItemsServiceException.kt 128B
folder
web 文件夹
file
RestApi.kt 525B
file
ItemHandler.kt 2KB
folder
repository 文件夹
file
ItemRepository.kt 679B
folder
misc 文件夹
file
EurekaAdditionalMetadataReporter.kt 402B
...
zip 文件大小:144.55KB