Hi, It really glad to see so many improvement! Hope someone in the dubbo-php-framework could take a look. Let's try to contact the original author of this project.
On Wed, Jul 17, 2019 at 8:09 PM Ian Luo <[email protected]> wrote: > > forward to @dev > > ---------- Forwarded message --------- > From: Jinxi Wang <[email protected]> > Date: Wed, Jul 17, 2019 at 2:48 PM > Subject: Re: 给dubbo-php-framework开发者们的一封信 > To: Ian Luo <[email protected]> > Cc: Huxing Zhang <[email protected]>, <[email protected]> > > > 各位老师好! > > 本次对dubbo-php-framework进行了一次更新,主要涉及到consumer相关功能,新增和修改了一些功能,功能点已列到下方, > github已经发出合并请求,如有不妥之处还望老师们给予指导。 > > 以下功能已应用到本人公司产品中 > > 新增及变动功能点 > 1、支持hessian数据序列化,解序列化,提供crazyxman/hessian-parser组件进行支持 > 2、dubbo调用传参通过新增Type类可绑定多种数据类型:short,int,integer,long,float,double,bool,boolean,string,arrayList,Map,Object > 3、dubbo服务version,group如在配置文件中未设置,不在强制使用1.0.0,*作为校验, > 请求头中根据发现的dubbo服务的version,group进行自适应设置 > 4、数据序列化方式根据dubbo服务中serialization参数或响应头中的数值,进行自适应的序列化和解序列化,默认还是使用fastjson格式 > 5、dubbo consumer抛出的异常不在是根异常Exception,定义了ConsumerException异常作为区分 > 6、接受数据超时不再是15秒和20次的限制,统一使用iotimeout控制获取数据的总时长,iotimeout可配 > 7、请求头中数据类型不再是统一的java/lang/Object,可根据传递的参数类型自动设置 > 8、redis连接方式与地址可设置到配置文件(agent+redis服务部署到其他主机时) > 9、redis连接超时,读超时,连接重试次数可设置到配置文件 > 10、redis地址可设置多个, 当地址个数大于重试次数时可保证不会选择同一个地址重试 > > 新增配置: > [consumer_config] > redis_connect_type = TCP //TCP,SOCK 默认TCP > redis_hosts = 11.0.16.248:6379,11.0.16.249:6379 //多个host,以逗号分隔,默认 > 127.0.0.1:6379 > redis_connect_timeout = 1 // 默认1秒 > redis_read_timeout = 2 //默认2秒 > redis_retry_count = 1 //默认重试1次 > > 各参数类型使用示例: > require_once('dubbo-php-framework/consumer/Type.php'); > $service = 'com.imooc.springboot.dubbo.demo.DemoService'; > $proxy = FSOFApi::newProxy($service, 3); > > //其他参数类型到Type类中寻找即可,如果参数不指定类型会根据参数自身类型判定, 如下 > $ret = $proxy->invoke("sayHello", Type::integer(123)); > 等价 > $ret = $proxy->invoke("sayHello", 123); > > $ret = $proxy->invoke("sayHello2", Type::string("zhangsan")); > $ret = $proxy->invoke("sayHello2", "zhangsan"); > > $ret = $proxy->invoke("sayHello3",Type::arrayList(['a', 10000, "你好"])); > $ret = $proxy->invoke("sayHello3",['a', 10000, "你好"]); > > $ret = $proxy->invoke("sayHello4", Type::map(['a'=>"b", 10 => "v"])); > $ret = $proxy->invoke("sayHello4", ['a'=>"b", 10 => "v"]); > > $ret = > $proxy->invoke("sayHello5",Type::object('com.imooc.springboot.dubbo.demo.dto.TestObjectDemo', > ['name' => '张三', 'age' => 10]), Type::string("hello"), Type::integer(30)); > > 盼复 > 祝好 > > Ian Luo <[email protected]> 于2019年7月5日周五 上午11:47写道: > > > 现在 dubbo-php-framework 缺少维护者。期望 php 可以跟上 dubbo 2.7 的脚步。您能参与进来,欢迎欢迎。 > > > > On Mon, Jun 17, 2019 at 11:18 AM Jinxi Wang <[email protected]> wrote: > > > >> 大家好! > >> 因工作需要从github apache看到dubbo-php-framework产生较大兴趣,最近会发布一个稳定版本吗? > >> 看目前只支持fastjson格式的数据传输,未来会支持其他序列化方式吗? > >> 你们对dubbo-php-framework将来的规划是怎样的?现个人想根据此项目未来规划尝试开发参与进来! > >> > >> 盼复! > >> 祝好! > >> > > -- Best Regards! Huxing
