加入收藏 | 设为首页 | 会员中心 | 我要投稿 无锡站长网 (https://www.0510zz.cn/)- 运维、开发、CDN、操作系统、语音技术!
当前位置: 首页 > 教程 > 正文

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) {

(编辑:无锡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读