顶部右侧
顶部左侧
当前位置:首页 > 编程语言 > Python > 正文

python学习路由器(python 路由器)

bsmseo 发布于2024-04-26 09:21:52 Python 14 次

大家好,今天小编关注到一个比较有意思的话题,就是关于python学习路由器的问题,于是小编就整理了3个相关介绍python学习路由器的解答,让我们一起看看吧。

  1. 如何用Python搭建一个网站?
  2. python 网关 作用?
  3. 在学校学了docker、linux、K8S、Python、MySQL、路由交换,是转运维还是开发?

如何用Python搭建一个网站?

Python搭建网站,利用现成的框架还是挺简单的。在这里举一个例子-利用Flask搭建一个网站。

Flask

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask创建一个应用很简单,只需要一行代码就可以创建一个应用。一个最小的应用看起来像这样:

直接执行python hello.py,就可以看到页面就可以访问了,这只是官方给出的一个示例,方便学习。

应用初始化

所有 Flask 程序都必须创建一个程序实例。 Web 服务器使用一种名为 Web 服务器***接口(Web Server Gateway Interface, WSGI)的协议,把接收自客户端的所有请求都转交给这个对象处理。程序实例是 Flask 类的对象,经常使用下述代码创建:

Flask 类的构造函数只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序中, Python 的 __name__ 变量就是所需的值。

路由和视图函数

客户端(例如 Web 浏览器)把请求发送给 Web 服务器, Web 服务器再把请求发送给 Flask程序实例。程序实例需要知道对每个 URL 请求运行哪些代码,所以保存了一个 URL 到Python 函数的映射关系。处理 URL 和函数之间关系的程序称为路由。在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修饰的函数注册为路由。下面的例子说明了如何使用这个修饰器声明路由:

index() 函数注册为程序根地址的处理程序。如果部署程序的服务器域名为 www.example.com,在浏览器中访问 http://www.example.com 后, 会触发服务器执行 index() 函数。这个函数的返回值称为响应,是客户端接收到的内容。如果客户端是 Web 浏览器, 响应就是显示给用户查看的文档。

启动服务器

程序实例用 run 方法启动 Flask 集成的开发 Web 服务器:

__name__=='__main__' 是 Python 的惯常用法,在这里确保直接执行这个脚本时才启动开发Web 服务器。 如果这个脚本由其他脚本引入,程序假定父级脚本会启动不同的服务器,因此不会执行 app.run()。服务器启动后, 会进入轮询,等待并处理请求。轮询会一直运行,直到程序停止,比如按Ctrl-C 键。

Flask开发的网站实例

  • 本示例中网站的结构如下

  • 启动服务器界面

  • 访问WEB页面

整个是利用Flask自己搭建的一个WEB页面,数据库试过mysql和mongodb都可以正常访问。整体感觉Flask的学习成本会比Django低,而且也比Django更灵活。

python *** 作用?

1.路由功能,防止内部关注暴露给外部客户端:API***将外部公共API与内部微服务API分开,允许添加微服务和更改边界。 其结果是能够在不对外部绑定客户端产生负面影响的情况下重构和适当大小的微服务。 它还通过为您的所有微服务提供单一入口点,对客户端隐藏了服务发现和版本控制详细信息。

2.为您的微服务添加额外的安全层:

API***通过提供一个额外的保护层来防止恶意攻击,例如SQL注入,XML解析器漏洞和拒绝服务(DoS)攻击。

3.支持混合通信协议:

虽然面向外部的API通常提供基于HTTP或REST的API,但是内部微服务可以从使用不同的通信协议中受益。 协议可能包括的Protobuf或AMQP ,或者用SOAP,JSON-RPC或XML-RPC系统集成。 API***可以在这些不同的协议之上提供外部的,统一的基于REST的API,允许团队选择最适合内部架构的API。

4.降低微服务复杂性

如果微服务具有共同的关注点,例如使用API令牌的授权,访问控制实施和速率限制。 每个这些关注可以通过要求每个服务都实现它们,但这为微服务的开发增加更多的时间成本。 API***将从您的代码中删除这些问题,允许您的微服务关注手头的任务。

5. 负载均衡:为访问后端API服务提供负载均衡的功能。

6. 缓存:缓存以提高性能。

7.监控:

8.日志:统一收集系统相关日志。

在学校学了docker、linux、K8S、Python、MySQL、路由交换,是转运维还是开发?

主要还是看你个人的兴趣在哪一块,如果喜欢研究各类服务架构,喜欢站在更上一层来看待整个服务,那么就选运维,你也不用担心开发能力会落下,现在运维也需要会开发,只是不需要研究的太深;

如果你只想安安静静的写代码,觉得这个能带给你更大的满足感,那么就选开发。

随着云计算的发展,运维的角色在将来会进一步弱化。

在之前的回答我举过数据库的例子,我是2005年从事工作,那个时候我们在项目中最牛的一个工种叫做Oracle DBA,因为那个时候核心的业务系统都离不开Oracle的支撑。那个时候Oracle DBA的年薪在那个时期绝对是首屈一指的。随着时间的推移,很多公司开始采用了云计算架构,构建应用很重要的服务就是关系型数据库服务(RDS),但是企业并不会因此再单独招聘一名DBA来负责云上的数据库服务。我们往往看到的是一个200多人的研发团队,只配备了一名运维人员。所以某种意义上说,云计算取代了部分传统运维的工作。

现在另外一个很火热的词叫做DevOps,我们来看一下英文的定义:

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops).It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

简单来说,DevOps的目的就是缩短开发周期,提高开发效率并保障质量。

那么问题来了,究竟是开发者从事运维呢?还是运维从事开发工作呢?在我面试过程中,很多做传统的运维同学都期望从事DevOps工作,但是非常遗憾的是DevOps本质是通过基础架构的升级,让开发者能用最少的代码进行运维工作,最后实现高效的软件迭代速度。

不知道同学看了我的回答,你是想从事开发呢还是运维呢?

到此,以上就是小编对于python学习路由器的问题就介绍到这了,希望介绍关于python学习路由器的3点解答对大家有用。

查看更多有关于 的文章。

转载请注明出处:http://www.zeshunjixie.com/post/60191.html

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。
最新文章
热门文章
网站分类
最新留言