范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

硬肝一次Python微服务是一种什么体验?

  来源:AirPython
  作者:星安果
  1. 前言
  大家好,我是安果!
  考虑到 Python 性能及效率性,Python Web 端一直不温不火,JAVA 和 Golang 的微服务生态一直很繁荣,也被广泛用于企业级应用开发当中
  本篇文章将介绍一款 Python 微服务框架:「 Nameko  」2. Nameko 介绍
  Nameko 是一款小巧、简洁的、异步通信方式的微服务架构
  它采用 RabbitMQ 消息队列作为消息中间件,基于发布者、订阅者模式
  其中,消费者与生产者基于 RPC 进行通讯3. 实战一下
  下面以 Flask 为例聊聊搭建 Python 微服务的步骤
  3-1 安装 RabbitMQ 及启动
  这里推荐利用 Docker 安装 RabbitMQ,以 Centos 为例
  # 1、下载某个版本的RabbitMQ的镜像
  # MQ版本号:3.9.5
  docker   pull rabbitmq:3  .9  .5  -management
  # 2、查看镜像
  docker images
  # 3、启动MQ容器
  # p:指定应用端口及Web控制台端口
  # hostname:主机名
  # e:环境变量
  # RABBITMQ_DEFAULT_VHOST:虚拟机名称
  # RABBITMQ_DEFAULT_USER:用户名
  # RABBITMQ_DEFAULT_PASS:密码
  # 3e83da0dc938:MQ镜像ID
  docker run -d --name rabbitmq3.9  .5   -p 5672  :5672   -p 15672  :15672   -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 3e83da0dc938
  需要注意的是,启动 MQ 容器时,利用 -p 指定了两个端口5672应用访问端口15672控制台 Web 访问端口号
  然后,开放防火墙的 5672、15672 端口号
  PS:如果是云服务器,需要另外配置安全组
  最后,在浏览器中通过下面的连接进入到 MQ 后台 Web 管理页面
  地址:http://ip地址:15672
  3-2 安装依赖包
  使用 pip 命令在虚拟环境下安装 nameko、flask 依赖包
  # 安装依赖包
  # nameko
  pip3 install   nameko
  # flask
  pip3 install   flask
  3-3 创建服务生产者 Producer
  自定一个类,使用 name 属性定义服务的名称为「 generate_service  」
  然后使用装饰器「 rpc  」注册服务中具体的方法
  # producer_service.py
  from   nameko.rpc import   rpc
  class   GenerateService  (object)  :
  # 定义微服务名称
  name = "generate_service"
  @rpc
  def   hello_world  (self, msg)  :
  print("hello,i am been called by customer(消费者),返回消息:{}"  .format(msg))
  # 返回结果
  return   "Hello World!I Am a msg from producer!"
  3-4 发布注册服务
  使用 nameko 命令在终端将目标文件中的服务注册到 MQ 中
  # 注册服务
  # producer_service:目标文件
  # admin:admin:MQ用户名及密码
  # ip地址:5672:MQ服务器ip地址及应用端口号
  # my_vhost:虚拟机名
  nameko   run producer_service --broker amqp://admin:admin@ip  地址:5672/my_vhost
  其中,my_vhost 对应 MQ 容器启动时配置的虚拟机名
  3-5 Flask 定义 API 及消费者调用服务
  为了演示方便,这里使用 Flask 编写一个简单的 API
  首先,定义 MQ 连接信息
  然后,编写一个 API 接口,请求方式为 GET
  最后,使用 nameko 中的「 ClusterRpcProxy  」拿到消费者对象去调用服务中的具体方法
  from   flask import   Flask
  from   nameko.standalone.rpc import   ClusterRpcProxy
  app = Flask(__name__)
  # MQ配置
  config_mq = {"AMQP_URI"  : "amqp://admin:admin@ip地址:5672/my_vhost"  }
  @app.route("/hello_world", methods=["GET"])
  def   call_service  ()  :
  with   ClusterRpcProxy(config_mq) as   rpc:
  # 消费者调用微服务(生产者),获取服务(生产者)的返回值
  result = rpc.generate_service.hello_world(msg="xag msg"  )
  # 返回结果
  return   result, 200
  app.run(debug=True  )
  3-6 测试一下
  使用 Postman 调用上面的 API 接口,就能完成消费者调用生成者服务中的方法,拿到返回结果的完整流程
  # 调用API接口
  http://127.0.0.1:5000/hello_world
  Method:GET4. 最后
  上面以 Flask 为例讲解了微服务的搭建的完整流程
  如果是其他 Web 框架( 比如 Django、FastAPI 等 )集成微服务流程是类似的,只需要修改生成 API 部分的逻辑即可,更多进阶内容大家可以参考官方文档

要买车的注意了电动车销售有猫腻,这点不同可别买新国标出台之后,在旧电动车出问题之后,人们也不会再去修理了,索性直接置换新国标电动车了,毕竟过渡期即将过去,到时候超标的旧电动车就不能上路了。没想到的是,新买的电动车也无法上牌。粉一款好用的电视教育应用APP,孩子假期轻松告别补习班期末考试的结束,迎来了学生们最喜欢的暑假,可随着现在家长们对每一学科的重视,课外兴趣的培养,家长们早早就给自家孩子安排了满满的学习行程,每天在这个夏季中风里来雨里去的,孩子受苦,家有驾照也不敢开车上路?试试这4款车,其他车主看到就绕路走随着假期结束,很多人获得了驾照,但是有驾照和敢开车上路是两回事,有很多新手就算买了车,也不敢开车上路,毕竟在路上的情况时刻在变化,新手可能难以适应。其实,新手之所以担心开车上路出现自动挡开车小技巧遇长下坡,D挡踩刹车不可取汽车改变了我们的生活,是的,在汽车出现之前,我们的出行受距离和天气限制,就算是在同一个城市的人,都可能很久见不上一面,有了汽车之后就不同了,汽车让生活发生了翻天覆地的变化。随着科学准备买新车的注意了这几个配置没啥用,省钱的是自己同样的价格,人们会选择物有所值的商品,同样的商品,人们会选择价格比较低的,这就是人们所说的性价比,在生活的方方面面都能体现这一点。那么在买车时,人们更会精打细算,尽管如今的汽车价格翻车现场,一千多的iPhoneXSMax能不能买?一网友在网上买了台一千多的二手iPhone,问我有没有问题。我的第一反应是,此机必有妖。但是看他提供的截图,第一时间也没看出有什么问题。这是他提供的卖家描述,划重点了换过屏iPho翻车现场,某鱼全新未开封iPhone13到货拆箱近日闲来无事,在某鱼看到一台全新未开封的iPhone13pro,比官网价格还要低几百块。想着官网订货还要个把月才能到货,果断下订单了。有人说最近华强北的魔改机开始大量流通了,最好要iPhone13被卖爆,友商年轻人不讲武德距离iPhone13发布已经一个多月了,但是iPhone13的热度依然不减,第一批官网预定的机器才陆续到货。接下来的双十一,不出意外各大电商平台又要进行一大波预热了。苹果有什么魔力拒绝加价,网友低于官网价入手iPhone13每年九月份苹果新机上线的时候,都会引发一波加价潮。不加价你就得等,正常官网预定要等一个月左右。不想等又不想加价怎么办?某网友就是这么想的,不想加价也不想等,今天心血来潮,明天就想看让女人超感动的100句温柔浪漫语中一38。虽然不能满足妳最大的物质生活但我可以把我的心来满足妳。。39。我爱你用我旧愁里的热情和孩童时代的忠?。。40。妳的话已经锁在我的记忆里了那钥匙妳就替我保管一辈子吧41。没有一揭秘华强北的妖机的骗局,让世界多一份清净注意了!注意了!最近有购买过二手机的都要注意了!这台iphoneX,肯定有问题,而且最近很多用户也碰到了这种问题,目前来说这种机器在市场上已经属于泛滥状态1显示大陆国行零售,型号M
氢氧化镁常用改性技术及研究进展2022年粉体表面改性技术培训交流会将于2022年4月21日22日在江苏南京举行,报名请关注V信公众号粉体技术网,涉及非金属矿粉体企业碳酸钙,硅微粉,滑石,重晶石,硅灰石,高岭土,极目锐评虚拟拨号设备沦为电诈工具,电商平台不能总是帮凶极目新闻评论员屈旌能够通过电脑端实现远程群控虚拟拨号的GOIP虚拟拨号设备,如今已经失去了正常的应用场景,沦为电诈工具,而这种工具竟然在电商平台上可以轻松买到,给警方办案带来重重困手机黑客?android平台注入技术背景在android系统中,进程之间是相互隔离的,两个进程之间是没办法直接跨进程访问其他进程的空间信息的。那么在android平台中要对某个app进程进行内存操作,并获取目标进程的谷歌母公司Alphabet旗下Wing宣布原CTO亚当伍德沃斯晋升为CEO三言财经2月16日消息,据报道,谷歌母公司Alphabet旗下Wing部门今日宣布,原CTO亚当伍德沃斯(AdamWoodworth)接替詹姆斯瑞安伯吉斯(JamesRyanBur谷歌推出ChromeOSFlex系统,可将旧电脑变成ChromebookIT之家2月16日消息,谷歌宣布推出一个新版本的ChromeOS,名为ChromeOSFlex,该系统是为企业和学校设计的,可以在旧PC和Mac上运行,这些电脑可能无法运行其预装操夸大续航里程特斯拉在韩国被罚据韩联社14日报道,韩国公平交易委员会(KFTC)裁定,美国电动汽车制造商特斯拉夸大了在韩销售的电动汽车的电池性能,KFTC已经对此事启动处罚程序。环球时报记者15日就上述报道联系原始数据清洁度与数据产品权利强度背景爱拼公司通过网络爬虫技术,从互联网公开信息中收集和分析了上亿条简历招聘数据(原始数据),基于原始数据研发衍生数据产品,于2014年6月发布涉案数据662所高校学生毕业十年就业薪华为手机旗舰之路华为第一代Mate到Mate40你用过哪些产品?众所周知华为品牌的智能手机分为四个系列Mate系列,P系列,nova系列,畅享系列麦芒系列因为其产品单一逐渐被分到畅享系列里面去。Mate系列命名与中文含义有特殊的关系,在英文翻译远程控制电量统计,向日葵智能插线板P1体验随着科技的发展,我们现在的生活场景几乎处处都要用电,插线板作为最常用的一款产品,想来大家都不陌生,尤其是最近几年,智能家居的应用越来越广,我们随处可见的插线板也有了改变,逐渐的向智全国首款5G工业防爆智能AR头盔在神东煤炭集团成功应用近日,国家能源集团神东煤炭寸草塔煤矿引进的全国首款5G工业防爆智能AR头盔成功应用。该AR智能头盔使用5GAR技术,让员工在井下或地面可利用AR穿戴设备,实现虚拟与现实安全生产场景苹果官网会卖出已退货的手机吗?谢谢邀请!这个是一定,学名叫官换机。而苹果官方除了全新机官换机还有官翻机。苹果官方翻新机,其实就是官方回收的机器,通过富士康修理测试后重新返回市场进行销售的机器。现在应该是iPho