配置tye
参考:
name: dapr-yarp.sample
extensions:
- name: dapr
components-path: "./components/"
config: dapr-config
exclude-placement-container: true
placement-port: 6050
- name: zipkin
services:
- name: gateway-demo #服务名称最好不要有大写,容易出问题
project: ./GatewayDemo/GatewayDemo.csproj
- name: service-sample #服务名称最好不要有大写,容易出问题
project: ./ServiceSample/ServiceSample.csproj
- name: zipkin #dapr的追踪服务
external: true
bindings:
- name: http
port: 9411
ingress:
- name: ingress
rules:
- service: gateway-demo
path: /
bindings:
- name: ingress
protocol: https
port: 44363 #对外端口
./componnets/文件夹下还有一些配置文件,这里就不贴了
用tye同时运行多个项目
确保dapr那3个容器服务正常运行后,运行 tye run,通过tye的Dapr扩展,运行显示以下几个服务:
gateway-demo
service-sample
zipkin
gateway-demo-dapr
service-sample-dapr
ingress
测试:
浏览器直接打开:https://localhost:44363/api/service-sample/sample/1234
如果显示 {"account":"1234","balance":100} 就说明通了。
附上Demo代码
github
尾声
因为目前没有用到对外的grpc调用和Actor、发布订阅等功能,所以本示例没有相关代码演示。
Yarp虽然还在preview,但有兴趣的.NET技术栈的玩家已经可以用它来做些简单的反向代理了。