上次写到springboot里面,这里还需要一些数据库的服务标注为springboot组件进行注入。

这里看到flyway,这是一个类似于efcore的migration 组件, 管理mysql 的脚本。

hystrix是一个进行请求时间超时时,返回结果的库。

eureka需要集成,这里看下zookeeper或者consul进行服务注册与发现。

zookeeper是一个单独的下载。下载后运行zookeeper, 然后在springboot中添加服务发现库依赖,进行服务发现相关。


添加openfeign2.2.0.RELEASE和 zookeeper

image.png



springcloud版本也要与springboot版本都用2.x,springcloud相关得使用2.2.0.RELEASE。


此时 , zookeeper 启动已经可以和feign配合。image.png


zookeeper 的使用,在win和wsl上端口是互相不能调用的。zookeeper使用的jetty会占用8080, 这样springboot不能启动,zookeeper配置, 在bin下用zkServer.cmd和zkCli.cmd进行测试启动和连接;yaml中配置需要在冒号后面加上空格:

:
  : 8090

zoo.cfg的配置放在conf目录下:

tickTime=2000

dataDir=/var/lib/zookeeper

clientPort=2181

admin.serverPort=8089

此时服务成功运行,默认feign已经带了ribon进行负载均衡。

image.png

关闭服务, 在zookeeper的console上会显示删除服务,表明连接成功;

image.png

这里做一个自调用,使用feign,

image.png,

接口,

image.png

image.png

说明feign已经根据服务名调用到rest接口,取得结果并显示。

然后需要配合springcloud gateway进行网关路由的配置。


Gateway的使用:

需要删除spring-starter-web包和所有javax.http等,因为不需要web相关的。

gateway启动出现validationException,需要在Pom添加,版本继承自<parent>中的spring-boot

org.springframework.bootspring-boot-starter-validation

gateway配置后,/api转发到8099但是没有此服务报错,说明gateway有在转发:

image.png

此时配置:

image.png

访问 /api,正常返回结果:

image.png

至此,已经正常弄了springcloud-gateway, zookeeper, feign, 等都正常运行。微服务基本可以正常运行。

顺便, idea 多行编辑,按住alt, 鼠标拖下去就好,对缩进处理友好。

refs:

https://article.juejin.cn/post/6844903891440517133

https://cloud.spring.io/spring-cloud-static/spring-cloud-zookeeper/1.0.3.RELEASE/

https://zookeeper.apache.org/doc/current/zookeeperStarted.html

https://www.baeldung.com/spring-cloud-zookeeper

https://github.com/spring-cloud/spring-cloud-zookeeper

https://sca.aliyun.com/

https://www.baeldung.com/java-zookeeper

https://cloud.spring.io/spring-cloud-zookeeper/2.0.x/single/spring-cloud-zookeeper.html

https://www.baeldung.com/spring-cloud-openfeign

https://www.baeldung.com/spring-boot-start

https://www.jb51.net/article/259285.htm

https://spring.io/projects/spring-cloud-gateway

https://spring.io/blog/2023/09/27/introduction-to-transactions-in-spring-cloud-stream-kafka-applications

https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream-binder-kafka.html

https://www.baeldung.com/spring-cloud-stream-kafka-avro-confluent

https://piotrminkowski.com/2022/01/24/distributed-transactions-in-microservices-with-kafka-streams-and-spring-boot/

https://www.baeldung.com/java-shardingsphere

https://severalnines.com/blog/introduction-failover-mysql-replication-101-blog

https://www.baeldung.com/multitenancy-with-spring-data-jpa

https://vikasverma.tech/post/multitenancy-hibernate-spring-boot/

















没有登录不能评论