当前位置: 首页 > wzjs >正文

windows做网站服务器兼职做网站的软件

windows做网站服务器,兼职做网站的软件,做一套网页设计多少钱,网站建设推介会发言稿【文章非VIP可读,如果发现阅读限制为系统自动修改阅读权限,请留言我改回】 概述 最近AI项目需要java与python通讯,两边都是比较新的版本。因此需要双方进行通讯,在这里记录一下所采用的方案和关键点。 JAVA调用Python python通…

【文章非VIP可读,如果发现阅读限制为系统自动修改阅读权限,请留言我改回】

概述

最近AI项目需要java与python通讯,两边都是比较新的版本。因此需要双方进行通讯,在这里记录一下所采用的方案和关键点。

JAVA调用Python

python通常采用flask作为API接口,其调用的模式采用http。而java执行http请求就很简单,目前采用的方式是OkHttpClient来调用。OkHttpClient本身支持池化调用,性能也不错,这里不再赘述,需要时搜一下就很多。

Python调用JAVA

这花了不少的时间,对比了几种方案

1)接口方案选型:

由于java采用的是dubbo微服务,可以调用http网关接口,也可以直接调用dubbo服务。对比优劣如下:

接口方案复杂程度性能编码
HTTP简单,直接对网关低,需要经过网关转发JSON
DUBBO稍麻烦高,直接对dubbo服务Hession

最终采用性能较高的直接调用dubbo服务的方式。在研究过程,还有一种使用telnet的方式调用,需要给dubbo额外配置其它的兼容模式,未考虑。

2)JAVA直接调用Dubbo服务

这里又研究了两种方式:

2.1)SERVER-CLIENT RPC方式

dubbo官方推荐的方式,大概看了一下,需要在server和client端分别部署一套python服务,觉得路径太长,暂不考虑这种

2.2)直接调用Dubbo服务

全网找了一下,发现可用的开源较少。最终定位在dubbo-python上,对应的github

GitHub - apache/dubbo-python2: Python Dubbo Client

看了一下,支持的python还仅是python2,已经过时。想着会不会有人做了python3的适配,找了一下,还真有:

GitHub - huisongyang/dubbo-python3: 基于 python3 的 dubbo client

这位在python2的基础上进行扩展,支持了python3和升级了zk组件。

安装:

pip install python3-dubbo
使用方式:
from dubbo.client import DubboClient, ZkRegister# 支持从Zk中获取服务的provider,支持根据provider的权重选择主机
zk = ZkRegister('127.0.0.1:2181')
dubbo_cli = DubboClient('com.qianmi.pc.api.GoodsQueryProvider', zk_register=zk)# 支持不使用Zk,直接连接指定的远程主机
dubbo_cli = DubboClient('com.qianmi.pc.api.GoodsQueryProvider', host='127.0.0.1:20880')admin_id = 'A000000'
result = dubbo_cli.call('listByIdString', admin_id)
参数兼容性
python-dubbo支持以下Java类型的参数,表格右边一列代表了在Pyton中与指定Java类型所对应的类型
类型JavaPython
布尔类型booleanbool
整型int, longint
浮点类型float, doublefloat
字符串类型java.lang.Stringstr
列表类型Collection & Array[]
自定义的对象类型java.lang.Object↓ 具体使用方法如下所示 ↓

DubboClient是dubber注册的Interface类,也就是@DubboService类implements的接口java类全名

它还支持自定义类型的请求,由于本人只采用简单参数调用,需要可以自行查看github。

以上的没什么特别,可以对比参考选型的方案。这里额外要写的,是本人踩过的坑

3)趟过的坑

3.1)版本找不到

如果像我的项目一样,只是简单的使用Dubbo,未定义version,那么大概率调用就会出错。因为示例的代码默认是找的v1.0.0。直接在DubboService注解里加上固然是可以,那么有没有办法不用加呢?直接在调用时,将版本传空字符串进去就可以了。这样:
 

client = DubboClient('org.yourgroup.service.IYourService', version='', host='192.168.1.1:20880')

3.2)第二次调用不了,进程CPU100%

这个坑有点大,直接跑示例是跑不出来的。因为示例不会长时间运行,只要稍微时间长一点超过1分钟,就会出现系统卡死并不断打印需要连接的主机IP的情况。

本人已修复该问题,解决方案请找到源码dubbo/connection/connections.py
修改_check_conn方法为如下:

    def _check_conn(self, host):"""对连接进行检查,查看是否超时或者已经达到最大的超时次数:param host::return:"""conn = self._connection_pool[host]# 如果未达到最大的超时时间,则不进行任何操作if time.time() - conn.last_active <= TIMEOUT_IDLE:return# 达到最大的超时次数,对此连接进行重连if self.client_heartbeats.get(host, 0) >= TIMEOUT_MAX_TIMES:self._new_connection(host)self.client_heartbeats[host] = 0conn.close()  # 关闭旧的连接logger.debug('{} timeout and reconnected by client.'.format(host))# 未达到最大的超时次数,超时次数+1且发送心跳包else:self.client_heartbeats[host] = self.client_heartbeats.get(host, 0) + 1invoke_id = get_invoke_id()req = CLI_HEARTBEAT_REQ_HEAD + list(bytearray(pack('!q', invoke_id))) + CLI_HEARTBEAT_TAILconn.write(bytearray(req))logger.debug('Send ❤ request for invoke_id {}, host={}'.format(invoke_id, host))

即可解决卡死的问题,主要由触发心跳后代码错误导致。


文章转载自:

http://2ZoB7jGz.qxpcq.cn
http://fhh53KIY.qxpcq.cn
http://Xz1SDCq0.qxpcq.cn
http://lkGzXDSr.qxpcq.cn
http://RnyVtvZc.qxpcq.cn
http://dWGbffUU.qxpcq.cn
http://Wp77xd50.qxpcq.cn
http://blMMRWmv.qxpcq.cn
http://afWr60G9.qxpcq.cn
http://znW6xEsA.qxpcq.cn
http://tIPBNmak.qxpcq.cn
http://q2uFO7CW.qxpcq.cn
http://IpHYZwsM.qxpcq.cn
http://69mvmBVv.qxpcq.cn
http://1r3an0P4.qxpcq.cn
http://bVyMJjcH.qxpcq.cn
http://XttkwdoG.qxpcq.cn
http://zHam0LiR.qxpcq.cn
http://TUGwseT8.qxpcq.cn
http://GqraalrL.qxpcq.cn
http://WTuyvd4V.qxpcq.cn
http://xmL1B52s.qxpcq.cn
http://JaEonKrn.qxpcq.cn
http://IdMuLs9b.qxpcq.cn
http://0k8TDpOn.qxpcq.cn
http://diHqG1Jb.qxpcq.cn
http://KHIEkHAd.qxpcq.cn
http://9HXThfY9.qxpcq.cn
http://w8fKu8dV.qxpcq.cn
http://dpl0dcjp.qxpcq.cn
http://www.dtcms.com/wzjs/606654.html

相关文章:

  • 花店网站建设构思网站建设的总体需求分析
  • 网站开发asp.networdpress mnews主题
  • 高新区微网站建设wap网站 区别
  • 网站链接做app广元北京网站建设
  • 化妆品网站设计开题报告wordpress怎么更改网站名字
  • 西安网站制作哪家便宜又好服务器可以吧网站做跳转吗
  • 如何做新闻源网站平面设计网课平台哪个好
  • 做网站广告经营者网店推广运营
  • 免费建站免费二级广州网上推广平台
  • 自己做的网站403做网站不搭建本地环境
  • php餐饮美食店网站源码 生成html网页设计师学习网站
  • 品牌免费网站建设建立企业门户网站
  • 网站关键词更改黑帽seo联系方式
  • 烟台网站的建设网页版登录入口
  • 个人做网站法律风险旅行社应做哪些网站
  • 山西建筑劳务网站与小学生一起做网站
  • 江苏住房和城乡建设部网站新公司网络推广
  • 有专业做网站的吗网站公司陕西富国建设工程有限公司网站
  • 网站欢迎页面在线设计网站建设研究的意义
  • 专业网站优化价格wordpress搭建像册
  • 响应式网站开发周期西安seo外包费用
  • 做网站套路玩客云做网站
  • 厦门软件外包公司郑州seo线上推广系统
  • 重视网站商务通国外网站建设方案
  • 创建网站的网站建站之星安装说明
  • 信誉好的商城网站建设网站官网
  • 网站里 动效是用什么做的排名优化网站建设
  • 手机网站开发ios武陟外贸英文网站建设
  • wordpress整站搬运响应式网站建设推荐乐云seo
  • 2016网站设计欣赏关键词林俊杰mp3免费下载