## 微服务开发 安装微服务开发的程序骨架。 ## 环境要求 * Linux, OS X, WSL * PHP >= 7.2 * Swoole >= 4.5.0 ## 安装框架 ### 安装 Swoole 扩展 推荐 [编译安装](https://wiki.swoole.com/wiki/page/6.html): ~~~ $> wget ***.tar.gz $> tar zxvf ***.tar.gz $> cd swoole-src $> phpize $> ./configure --enable-openssl --enable-http2 --with-php-config=/usr/local/php72/bin/php-config $> make && sudo make install ~~~ ### 安装开发骨架 > 不要使用 git clone 安装 使用 [composer](https://www.phpcomposer.com/) 安装: ```shell composer create-project --prefer-dist mix/mix-micro-skeleton:~2.2.0 mix ``` ### 确认安装成功 查看帮助: ~~~ $> php bin/mix.php --help ~~~ ## 安装 .proto 代码生成工具 - Protoc: [https://github.com/mix-php/grpc/releases/tag/binary](https://github.com/mix-php/grpc/releases/tag/binary) ## 安装 Etcd 服务中心、配置中心需要使用到 Etcd,安装: - Docker:[https://hub.docker.com/r/bitnami/etcd](https://hub.docker.com/r/bitnami/etcd) ## 安装 Zipkin 调用链追踪使用到 Zipkin,安装: - Docker:[https://hub.docker.com/r/openzipkin/zipkin](https://hub.docker.com/r/openzipkin/zipkin) ## 安装 Micro 工具包 >[info] Mix 的微服务直接使用 [Micro](https://micro.mu/docs/runtime.html) 工具包的网关、代理、Dashboard 等全部微服务治理基础设施,因此我们需要安装它。 >[danger] 只支持 Micro 的 v1, v2 版本 Micro 是提供给 Go Micro 的运行时工具,用于部署和运维。一种简单的方式是通过如下指令自动安装: ~~~bash GO111MODULE=on go get github.com/micro/micro/v2@latest ~~~ 但是,通过该方法安装的 micro 默认使用的服务发现组件是 mdns,没有集成 Consul、Etcd 等第三方的组件。我们后面需要使用 Etcd,所以此时需要自己手动编译安装: 首先,直接从 github [releases](https://github.com/micro/micro/releases) 拉取 v2 版本的最新代码: ~~~text wget https://github.com/micro/micro/archive/v2.9.3.zip unzip v2.9.3.zip cd micro-2.9.3 ~~~ 然后,新建 plugins.go 文件: ~~~go package main import ( _ "github.com/micro/go-plugins/registry/etcdv3/v2" ) ~~~ 最后,重新编译安装: ~~~bash go install ~~~ 完成后,执行如下指令: ~~~text micro --version ~~~ 有类似如下输出,则表示安装成功: ~~~text micro version 2.0.0 ~~~