Swoft 2.0.3 重大更新,发布优雅的微服务治理
发布时间:2022-08-02 14:35:53 所属栏目:教程 来源:互联网
导读:什么是 Swoft ? Swoft 是一款基于 Swoole 扩展实现的 PHP 微服务协程框架。Swoft 能像 Go 一样,内置协程网络服务器及常用的协程客户端且常驻内存,不依赖传统的 PHP-FPM。有类似 Go 语言的协程操作方式,有类似 Spring Cloud 框架灵活的注解、强大的全局依
|
{ return 'funcFallback'; } } 服务限流 Swoft 中使用 @RateLimiter 注解实现服务限流,可以在任何方法上面限流,不仅仅是控制器,且 KEY 还支持 symfony/expression-language 表达式。 /** * Class LimiterController * * @since 2.0 * * @Controller(prefix="limiter") */ class LimiterController { /** * @RequestMapping() * @RateLimiter(key="request.getUriPath()", fallback="limiterFallback") * * @param Request $request * * @return array */ public function requestLimiter(Request $request): array { $uri = $request->getUriPath(); return ['requestLimiter', $uri]; } /** * @param Request $request * * @return array */ public function limiterFallback(Request $request): array { $uri = $request->getUriPath(); return ['limiterFallback', $uri]; } } 配置中心 配置中心,需要用到 Swoft 官方提供的 Swoft-apollo 组件,如果其它第三方也类似。 声明Agent /** * Class AgentCommand * * @since 2.0 * * @Command("agent") */ class AgentCommand { /** * @Inject() * * @var Config */ private $config; /** * @CommandMapping(name="index") */ public function index(): void { $namespaces = [ 'application' ]; while (true) { (编辑:无锡站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
