我正在做一个由多个微服务api项目组成的项目。
api项目是从单一的Monolith解决方案中分离出来的。不幸的是它是如何"雕刻"的?导致在多个reppos解决方案中复制粘贴端点。下面是一个非常简单的例子
before
monolith/account/
monolith/payment/
monolith/order/
micro service : account
monolith/account/ [used]
monolith/payment/ [copy pasted unused]
monolith/order/ [copy pasted unused]
micro service : payment
monolith/account/ [copy pasted unused]
monolith/payment/ [used]
monolith/order/ [copy pasted unused]
micro service : order
monolith/account/ [copy pasted unused]
monolith/payment/ [copy pasted unused]
monolith/order/ [used]
如何以编程方式找出每个repo未使用的端点?
- 我们已经在azure web应用程序上部署了api
- 我们在所有的应用上使用应用洞察
应用服务HTTP日志可以用来查找每个应用服务的每个端点发出了多少个请求。
你可以去app服务→日志→新查询在Azure门户上运行如下查询:
AppServiceHTTPLogs
| where CsUriStem == '/monolith/account/' or CsUriStem == '/monolith/payment/' or CsUriStem == '/monolith/order/'
| summarize count() by CsUriStem
它将返回一个表,其中包含每个端点的请求数,因此您应该能够找到那些未被使用的请求。