栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Django微服务思路】SpringCloud+GRPC---什么是云原生应用?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Django微服务思路】SpringCloud+GRPC---什么是云原生应用?

思路

之前实现了Nginx+uwsgi+daphne+django的生产环境部署,实际上也相当于构建了微服务。

但是如果要将django项目作为微服务部署到云微服务引擎上,还需要做一定的改造。

有几个思路:

  1. 多语言Mesh应用(华为云中可以用ServiceStage创建Mesher组件,然后部署Mesh应用,阿里云MSE和腾讯云TSF同理只不过没有Mesher)
  2. SpringCloud+GRPC+Django,然后注册到Nacos上,最后部署到云引擎上。
  3. 似乎也可以直接将Django项目注册到Nacos?具体不太清楚。

由于现在各大云平台提供的微服务引擎都比较支持SpringCloud且老板要求用Nacos注册中心,采用第二条思路。

Django作为GRPC的服务端

https://djangogrpcframework.readthedocs.io/en/latest/index.html

SpringCloud实现GRPC的客户端并注册到Nacos

https://blog.csdn.net/qq_42097051/article/details/106761395

什么是云原生应用

以后尽量使用云原生应用框架来开发项目,最后部署上云可以省去很多麻烦。

引用知乎上腾讯云官方账号对云原生定义的回答:

云原生的定义在行业内可谓百家争鸣,如果给一个通俗的定义,大概是这样:一款应用在设计之初就考虑到如何在云上以最佳方式运行,能以最短路径上云,充分发挥云的优势。换言之,这款应用是因云而生的。
总结一下云原生的优势,大概有以下几点:
1)是更好的资源效率,可以用较少的服务器上运行相同数量的服务
2)云原生基础架构可实现更高的开发速度,从而更快地改善服务,以降低风险
3)云原生允许多云(在公共云之间切换或在多个云上运行)和混合云(在数据中心和公共云之间移动工作负载)

云原生的另一个定义来源是成立于2015年7月的云原生计算基金会(Cloud Native Computing Foundation,CNCF)。起初,CNCF给出的定义以下三方面:
1)应用容器化(Containerized)容器让我们的应用有一种完全自包含的定义方式,应用才能以一种敏捷的可扩展可复制的方式部署到云上,发挥出云的能力
2)动态编排调度(Dynamically orchestrated)由中心化的编排来进行活跃的调度和频繁的管理,从根本上提高机器效率和资源利用率,同时降低与运维相关的成本。
3)面向微服务(Microservices oriented)应用被拆分成微服务,这显著提高了应用的整体灵活性和可维护性

2018年后,CNCF给了另一版定义:
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

如果看了这么多内容而有点懵,建议拉回开头看看通俗版本的定义,或许有助于理解。希望这个回答能给你带来帮助。
作者:腾讯云 链接:https://www.zhihu.com/question/63927805/answer/737096504
来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号