目录结构

- application 下
- common 定时器等
- core 支持workerman自己实现的一个父类和工具
- index 默认模块,同级可以存在多个模块,比如order,product
- service 外部service api的实现类,一一对应
- workerman 主要是php-cli命令
- 其他和thinkphp51一样的
- 重点是.env,可移植的配置文件
一些文件的内容
\service\order\Order
<?php
namespace app\service\order;
class Order
{
/**
* 生成一个订单
*/
public function checkOrder() {
}
/**
* 回退
*/
public function __checkOrder() {
}
/**
* 支付订单
*/
public function payOrder() {
}
/**
* 回退
*/
public function __payOrder() {
}
}
服务的命名规则,api接口及对应的文件位置
比如,某个接口
https://服务名/模块名/类/方法名
https://order/order/Order/checkOrder
对应提供服务的文件位置
/application/order/http/Order/checkOrder
对应其他服务调用该服务,在其他服务项目中的文件位置
/application/service/order/Order/checkOrder
istio灰度发布
- 一个service对应多个版本的pod
- 多个版本pod有俩个标签A、B,A标签所有pod都相同,供service引用;B标签为版本标签,多个版本不同;A是给service用的,B是给istio的DestinationRule用的,必须B标签必须为version:v1这种,其中vi可变
- 一套应用新建应该包含
* Deployment.yaml
* Service.yaml
* Db.yaml
* pCache.yaml
* VirtualService.yaml
* DestinationRule.yaml
- 一套应用更新至少应该包含
* Deployment.yaml
* DestinationRule.yaml