a devolepment environment of microservice base on hyperf。
基于hyperf搭建的微服务架构DEMO,用于了解如何用hyperf搭建微服务。
1. docker-compose 单机模拟集群环境搭建
2. 雪花id生成方法
3. nacos 服务发现 & 服务注册
4. naces 配置中心使用 ( yaml 格式)
5. 链路追踪 基于zipkin
6. 协程非阻塞程序设计
7. 单元测试
8. json_rpc 通信协议
1. Linux
2. 文档中出现的mytest.net 需要解析到docker所在宿主服务器的ip
服务器上,要建立以下目录,作为持久化所使用的存储空间。并且以下目录处docker中的进行,其他进程尽量不要访问。
1. 源码存储空间 :/opt/workspace 【将github上下载的代码目录 microservice 放置在这里】
2. 其他持久化空间 : /var/container_data
- 数据库初始化脚本 : env/service/mysql/init.sql env/service/nacos/nacos_shcema.sql
- change dir to : cd /opt/workspace/microservice/env
- start environment : docker-compose up
- start rpc server :
- go into rpc server container : docker exec -it rpc-server-01 /bin/sh
- change dir to rpc server workspace : cd /opt/workspace/microservice/rpc-server/
- run : composer update
- start rpc server : php bin/hyperf.php start
- start rpc client :
- go into rpc client container : docker exec -it rpc-client-01 /bin/sh
- change dir to rpc client workspace : cd /opt/workspace/microservice/rpc-client/
- run : composer update
- start rpc client : php bin/hyperf.php start
curl "http://mytest.net:9504/v1/api/test/test"
- go into rpc server container : docker exec -it rpc-server-01 /bin/sh
- change dir to rpc server workspace : cd /opt/workspace/microservice/rpc-server/
- commonds :
- run all unit tests : composer test
- run unit test by method : composer test -- --filter=test_create
curl --no-check-certificate --quiet
--method POST
--timeout=0
--header 'Content-Type: application/x-www-form-urlencoded'
--body-data 'name=test22222&gender=2'
'http://mytest.net:9504/v1/api/user/create'
curl --no-check-certificate --quiet
--method GET
--timeout=0
--header ''
'http://mytest.net:9504/v1/api/user/info?snow_id={用户创建完成获取的雪花id}'
- zipkin : http://mytest.net:9411/zipkin
- nacos : http://mytest.net:8848/