imi-nacos 正式支持服务注册——imi 框架微服务生态开发进度 20220916

宇润 -
imi-nacos 正式支持服务注册——imi 框架微服务生态开发进度 20220916
进度说明(20220916)

服务注册可以把当前服务注册到注册中心,便于其他服务使用服务发现负载均衡来获取到某个节点,并与服务进行通信。

imi-nacos 现已支持了配置中心和服务注册功能,使用非常简单!

安装:composer require imiphp/imi-nacos:~2.1.0 imiphp/imi-service:~2.1.0

配置:

@app.beans

[
    'ServiceRegistry' => [
        'drivers' => [
            [
                'driver' => \Imi\Nacos\Service\NacosServiceRegistry::class, // 驱动类名
                // 注册的服务列表
                'services' => [
                    'main', // 格式1:主服务器是 main,子服务器就是子服务器名
                    // 格式2:数组配置
                    [
                        // 所有参数按需设置
                        'server'     => 'main', // 主服务器是 main,子服务器就是子服务器名
                        // 'instanceId' => '实例ID',
                        'serviceId'  => 'main_test',
                        'weight'     => 1, // 权重
                        'uri'        => 'http://127.0.0.1:8080', // uri
                        // 'host'       => '127.0.0.1',
                        // 'port'       => 8080,
                        'metadata'   => [
                            // 'group' => 'DEFAULT_GROUP', // 分组
                            // 'namespaceId' => '', // 命名空间
                            // 'metadata' => [], // metadata
                            // 'ephemeral' => true, // 是否为临时实例
                        ],
                        // 'interface'  => 'eth0', // 网卡 interface 名,自动获取当前网卡IP时有效
                    ],
                ],
                'client' => [
                    // 注册中心客户端连接配置,每个驱动不同
                    'host'                => '127.0.0.1', // 主机名
                    'port'                => 8848, // 端口号
                    'prefix'              => '/', // 前缀
                    'username'            => 'nacos', // 用户名
                    'password'            => 'nacos', // 密码
                    'timeout'             => 60000, // 网络请求超时时间,单位:毫秒
                    'ssl'                 => false, // 是否使用 ssl(https) 请求
                    'authorizationBearer' => false, // 是否使用请求头 Authorization: Bearer {accessToken} 方式传递 Token,旧版本 Nacos 需要设为 true
                ],
                'heartbeat' => 3, // 心跳时间,单位:秒
            ],
        ],
    ],
]

宇润在 imi 四周年直播活动中,向大家介绍了下一步的开发计划。

其中,明确指出了 imi 开发组要大力发展微服务生态,为 PHP 微服务添砖加瓦。

第一步,是为 imi 接入配置中心。

目前已经实现了 imi-config-center 配置中心组件的抽象化。

实现并发布了 v2.1.0-beta 版本:

imi-nacosimi-etcdimi-zookeeper

第二步,是为 imi 接入注册中心,实现服务注册。

目前已经实现了 imi-service 抽象化。

实现并发布了 v2.1.0-beta 版本:

imi-nacos都已编写并通过了自动化集成测试,有测试用例是 imi 开发组对 imi 相关开发的基本要求近期开发计划继续维护迭代 imi 核心功能万年不变开发更多 imi 配置中心的具体实现(Apollo、Consul)支持更多的注册中心

如果你对开源和 imi 项目感兴趣,不妨一起来开发。

只需开发一个受认可的 imi 组件或基于 imi 的开源项目,即可成为 imi 开发组成员之一。

imi 介绍

imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。

imi 拥有丰富的功能组件,v2.1 版本内置了 2 个分布式长连接服务的解决方案。

imi 框架现在已经稳定运行在:文旅电商平台、物联网充电云平台、停车云平台、支付微服务、短信微服务、钱包微服务、卡牌游戏服务端、数据迁移服务(虎扑)等项目中。

imi 第一个版本发布于 2018 年 6 月 21 日项目地址Github:https://github.com/imiphp/imiGitee:https://gitee.com/yurunsoft/IMI官网:https://www.imiphp.com/文档:https://doc.imiphp.com/v2.1/获得过的荣誉InfoQ 推荐:https://mp.weixin.qq.com/s/oB...码云 GVP 项目:https://gitee.com/yurunsoft/IMI开发组成员

宇润(张润宇),94年植树节生,无锡人。Swoole 开发组成员、php-src 内核贡献者、TDengine 贡献者、2021 中国开源码力榜前百名。
开源项目包括但不限于:imi、PaySDK、YurunHttp、Guzzle-Swoole、YurunOAuthLogin、ChineseUtil 等
Github:https://github.com/Yurunsoft

NHZEX,主要贡献:代码优化、bug修复、测试优化、PHP 8.1 兼容
Github:https://github.com/NHZEX

封尘,93年,狮子座,宣城人。imi 框架开发组成员,开源作者。
开源项目包括但不限于:fcup、mjs、university font icon library、fcphp、fcblog 等
主要贡献:imi 早期用户,imi 1.0、2.0 官网页面作者
Github:https://github.com/lovefc

阿诺Eno,99年出生,成都人,全栈程序员(主后端),医学生(本科护理学专业),硕士二战考生。
常用编程语言PHP、NodeJs等,imi 框架开发组成员。

一名热衷于用代码创造世界的护士小哥,独爱PHP,大学期间主导过20多个主要以PHP为后端的WEB项目的开发,具有丰富的码农经验,也擅长接国内外软件毕业设计。

主要贡献:文档编写、bug 修复

Github:https://github.com/Gumo666

青玄Chris,96年,广东人,时长n年半的PHP练习生,喜欢唱\跳\RAP\PHP , imi 框架开发组成员

喜欢参与开源用爱发电,imi 框架开发组成员 ,EasySwoole社区贡献者

主要贡献:imi-etcd 作者

Github:https://github.com/ChrisLeeAr...

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

微服务phpswoolenacos注册中心

扩展阅读

加个好友,技术交流

1628738909466805.jpg