最近精神有点顶不住了,感觉做自己喜欢的事情真的是其乐无穷,被电脑砸脸也只是担心电脑和刚才因为走神没看到的东西。前段时间看了一段话,怕忘记了就写在这里吧,与你共勉“值得念念不忘的应该是自己的梦想和心愿,而不是受过的委屈、难过的小事,甚至命运的捉弄”。  感觉最近进入Python学习的心法阶段,都是在将编程概念,但愿后面自己能够接触到一些实际案例。下面我就开始回顾一下自己今天的学习内容。一、关于多
转载 2024-10-09 19:43:38
34阅读
一、前言在Python开发中,服务部署有各种各样的方案,同时作为服务端语言也是比较吃力的,没有Java那样有很成熟的方案。在这里介绍一个并发部署方案:Systemd+Nginx+Gunicorn+Gevent+Supervisor+Flask。众所周知 Flask 是一个同步的框架,处理请求的时候是以单进程的方式,当同时访问的人数过多时,Flask 服务就会出现阻塞的情况。就像我们买火车票一样,
转载 2021-05-17 08:17:00
267阅读
【小宅按】并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。里面的一个时间段内说明非常重要,这里假设这个时间段是一秒,所以本文指的并发是指服务器在一秒中处理的请求数量,即rps,那么rps,本文就认为并发。操作系统到底在干啥?如果由笔者来概括,操作系统大概做了两件事情,计算与IO,任何
最近在做游戏服务分层的时候,一直想把mysql的访问独立成一个单独的服务DBGate,原因如下:请求收拢到DBGate,可以使DBGate变为无状态的,方便横向扩展当请求量或者存储量变大时,mysql需要做分库分表,DBGate可以内部直接处理,外界无感知通过restful限制对数据请求的形式,仅支持简单的get/post/patch/put 进行增删改查,并不支持复杂查询。这个也是和游戏业务的特
转载 2023-10-10 16:32:04
124阅读
第1章 随便聊聊聊聊Flask与Django,聊聊代码的创造性1-1 Flask VS Django1-2 课程更新维护说明第2章 起步与红图本章我们初始化项目,探讨与研究Flask的默认层级结构。当我们遇到层级结构不合理时,我们将模仿蓝图自己定义一个“红图”来扩展Flask层级体系2-1 环境、开发工具与flask1.02-2 初始化项目2-3 新建入口文件2-4 蓝图分离视图函数的缺陷2-5
转载 2024-04-22 09:04:27
73阅读
楔子这次我们来介绍一个 web 框架:Sanic,它既是一个 web 框架,同时也是一个 web 服务器。关于框架,首先浮现在脑海中的就是 Flask、Django 之类的,但它们都是同步框架,而现在是一个并发的时代,并发量是在构建服务时必须考量的一个指标。所以我们自然就想到了 Python 中的异步框架,而提到异步框架,那么就必须要提  Sanic、FastAPI,这两个异步框架都很
转载 2023-08-09 16:12:55
169阅读
多进程和多线程之间的区别比较多线程在基于线程的多任务的环境中,所有进程至少有一个线程,但是它们可以具有多个任务。这意味着单个程序可以并发执行两个或者多个任务。简而言之,线程就是把一个进程分为很多片,每一片都可以是一个独立的流程。这已经明显不同于多进程了,进程是一个拷贝的流程,而线程只是把一条河流截成很 多条小溪。它没有拷贝这些额外的开销,但是仅仅是现存的一条河流,就被多线程技术几乎无开销地转成很多
转载 2019-11-11 18:51:36
3203阅读
FastAPI是一个基于Python 3.6+的现代Web框架,它专注于高性能和易用性。FastAPI通过结合多种技术实现了出色的性能,包括异步编程、类型提示和自动文档生成。FastAPI基于Starlette框架,并且使用Pydantic库进行数据验证和转换,从而使RESTful API的开发变得更加容易。在FastAPI中,GET和POST请求可以通过装饰器@app.get()和@app.po
## 并发 API 架构简介 在当今互联网时代,随着用户数量的不断增加,对于API并发处理能力要求也越来越高。一个高效的API架构既能够提供良好的用户体验,又能够保证系统稳定性,是开发者们在项目中需要重点关注的一个方面。 ### 架构设计原则 在设计并发API架构时,需要考虑以下几个方面: 1. **负载均衡:** 通过负载均衡的方式将用户请求分发到不同的服务器节点上,避免单个节点
原创 2024-04-02 05:55:26
52阅读
问题:在页面上有许多js,css的链接,在低并发访问时,往往看不出问题存在。 但是在并发访问的情况下,这些HTTP请求无疑会增加服务器的负担。HTTP请求知识梳理:Stalled(阻塞):   浏览器对同一个主机域名的并发连接数有限制,因此如果当前的连接数已经超过上限,那么其余请求就会被阻塞,等待新的可用连接;此外脚本也会阻塞其他组件的下载;优化措施:   1、将资源合理分布到多台主机上,可以提
转载 2024-09-23 06:32:03
94阅读
一、ERP系统对接概述企业资源规划(ERP)系统是现代企业管理的核心,它集成了企业内部的各个部门和业务流程。为了实现ERP系统与其他外部系统或应用程序之间的数据交换和协作,需要对接方案。API(应用程序编程接口)是实现系统对接的常用方法之一。二、API接口封装系列接口设计原则统一性:确保接口风格、命名规范、参数格式等统一。安全性:采用身份验证、授权、加密传输等安全措施。可用性:设计容错机制,确保
原创 2024-02-26 15:29:04
91阅读
2022-10-09更新!!!bigemap导出kml文件的功能不开放了,后续有什么好的办法获取乡镇、街道数据再做记录。大家有什么好的方法也可以留言。写在前面,本文重点介绍关于怎么获取地图数据的部分我们可以通过 http://datav.aliyun.com/tools/atlas阿里旗下的德地图提供的api,可以获取到中国各个省份/区级/县级的json数据,但是区级和县级,并没有包含街道和乡镇
一、接受请求数据request来提供这些信息。如果你有一定的 Python 经验,你会好奇这个对象怎么可能是全局的,并且 Flask 是怎么还能保证线程安全。 答案是上下文作用域: 1. 局部上下文 Flask 中的某些对象是全局对象,但不是通常的类型。这些对象实际上是给定上下文的局部对象的代理。虽然很拗口,但实际上很容易理解。 想象下线程处理的上下文。一个请求传入,web 服务器决定产生一个新
hadoop适合处理分布式集群系统,本身是支持高速并发海量数据的写入和读取的。解决大量用户并发访问的方案有很多,给你个千万pv的参考方案: 1)架构中直接引入软件名称的模块,是个人推荐使用的,如Haproxy、Hadoop等; 2)关于全局负载均衡,看成本投入情况,可以使用商业的产品,如F5-GTM,开源方案便是自搭智能DNS; 3)本地负载均衡方案,可以考虑F5-LTM或成熟的开源解决方案LVS
转载 9月前
229阅读
负载均衡(Load Balance)1.并发 并发就是使用多个线程或者多个进程,同时处理不同的操作。简而言之就是每秒内有多个请求同时访问。2.负载均衡 负载均衡:将请求/数据均匀分摊到多个操作单元上执行,负载均衡的关键在于均匀,这也是分布式系统架构设计中必须考虑的因素之一。3.Tomcat的并发量 tomcat的最大承受请求是250个,当每秒有300个请求同时访问tomcat时,tomcat已
背景:经过前面一二三文章的范例,现在服务搭建好了,一个裸奔的服务,以及上线。对线上服务,我们必须考虑下服务的性能。如果多个请求发过来,可能会发生进程堵塞,然后服务挂掉,那么我们希望能该服务可以并发请求。解决:使用gunicorn。gunicorn是一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。Gunicorn使用prefork
转载 2024-03-05 22:07:47
150阅读
常见的站点架构基本是这样的(绝对不画忽悠类的架构图):(1)浏览器端,最上层,会执行到一些JS代码(2)站点层,这一层会访问后端数据,拼html页面返回给浏览器(3)服务层,向上游屏蔽底层数据细节,提供数据访问(4)数据层,最终的库存是存在这里的,mysql是一个典型(当然还有会缓存)这个图虽然简单,但能形象的说明大流量并发的秒杀业务架构,大家要记得这一张图。后面细细解析各个层级怎么优化。四、各
转载 10月前
52阅读
# Java Maven API封装 在现代软件开发中,越来越多的应用程序需要接入外部API来增强功能。德地图API就是其中一个非常流行的选择。德地图提供了丰富的地理信息服务,例如位置查询、导航服务、地点检索等。本文将指导您如何使用Java Maven封装API,并提供代码示例以便于您的理解与应用。 ## Maven项目设置 首先,确保您已经在本地安装了Maven。如果没有,请访
原创 10月前
279阅读
function MapUtil() { var map = null; var geolocation = null; var geocoder = null;
原创 2022-11-24 18:49:27
135阅读
下面我们使用Python来实现并发的Web Server,其中采用了多进程、多线程、协程、单进程单线程非阻塞的方式。 一、使用子进程来实现并发Web Serverimport socket import re import multiprocessing def handle_request(new_socket): # 接收请求 recv_msg = ""
转载 2023-07-04 22:02:28
447阅读
  • 1
  • 2
  • 3
  • 4
  • 5