在前面的文章《Go web开发系列》我们介绍了使用go语言的gin框架做web开发。接下来的话我们就进入到Go语言微服务实战系列来具体的介绍下如何使用Go语言来做微服务开发。
微服务的本质其实就是把原有的单体项目拆分成更多的单体项目,从而形成多个单体项目共同协作的需求。因此在微服务体系中,每一个微服务都需要把信息放在一个叫做注册中心的地方。
目前常用的注册中心框架有:
1、Eruka 2、Consul 3、Zookeeper 4、Nacos 5、Etcd 6、Polaris 7、等等
在java的日常开发中,目前spring cloud alibaba是非常流行的框架,所以这里的话我们就以nacos为例来作为注册中心。本文我们主要介绍下Nacos的部署。
这里Nacos的部署的话,我们使用简单的方式来进行部署,也就是使用docker-compose启动一个无状态的实例。下面贴出docker-compose的配置文件:
services: nacos: image: nacos/nacos-server:latest container_name: nacos-server environment: - MODE=standalone ports: - "7848:7848" - "8848:8848" - "9848:9848" healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8848/nacos/"] interval: 30s timeout: 10s retries: 3
然后我们使用
docker-compose up -d
把这里的nacos启动起来即可。启动后我们就可以访问nacos的8848端口了,例如:
备注:
1、这里我们的nacos是启动的一个无状态的单体实例,也就是数据没有存储在mysql,一旦容器关闭,nacos容器里面应该有的数据都会丢失,所以非演示环境的话,我们还是需要把数据存储到mysql中。 2、在nacos2.0里面除了8848端口之外,还有7848,9848端口,在go语言的微服务中必须要同时开启这三个端口,如果只开启8848的话,go语言的nacos的sdk是无法注册到nacos上的
还没有评论,来说两句吧...