https://tingsongyu.github.io/PyTorch-Tutorial-2nd/chapter-1/1.2-Anaconda.html

解释器--python.exe。
python.exe读取.py文件,解释成二进制文件,让CPU读懂,并运行。这就是解释器的作用,更直观的例子,python3的解释器是无法翻译python2语法的语句print "Hello World"的,因此不同的python.exe其实就对应了不同的环境。

Anaconda是为方便使用Python而建立的一个软件包,包含常用的250多个工具包,多版本Python解释器和强大的虚拟环境管理工具,所以Anaconda被称为Python全家桶。

anaconda常用命令
创建环境:conda create -n your_env_name python=X.X (X.X为python版本)
eg: conda create -n pytorch_tutorial python=3.7
激活环境:source activate your_env_name
eg: source activate pytorch_tutorial
退出环境:source deactivate
删除环境:conda remove -n your_env_name –all
eg: conda remove -n pytorch_tutorial --all
查看已有虚拟环境:conda env list / conda info -e

2025/4/24 08:16:36(UTC+0)

image.png

服务1到N:它们代表不同的服务,通过通知服务器提供的API发送通知。
通知服务器: 它们提供以下功能:

  • 为服务提供发送通知的API。这些API只能由内部或经过验证的客户访问,以防止垃圾邮件。

  • 进行基本验证,以核实电子邮件、电话号码等。

  • 查询数据库或缓存以获取渲染通知所需的数据。

  • 将通知数据放到消息队列中进行并行处理。

  • 下面是一个发送电子邮件的API的例子:
    POST https://api.example.com/v/sms/send
    Request body: image.png

  • 缓存:用户信息、设备信息、通知模板都被缓存了。

  • 数据库:它存储了关于用户、通知、设置等方面的数据。
    ...

2025/4/11 12:49:23(UTC+0)

image.png

第 1 步:将种子 URL 添加到 URL Frontier
第 2 步:HTML 下载器从 URL Frontier 获取 URL 列表。
第 3 步:HTML 下载器从 DNS 解析器获取 URL 的 IP 地址并开始下载。
第 4 步:Content Parser 解析 HTML 页面并检查页面是否格式错误。
第 5 步:内容经过解析和验证后,传递给“Content Seen?”组件。
第 6 步:“Content Seen”组件检查 HTML 页面是否已在存储中。

  • 如果在存储中,这意味着不同URL 中的相同内容已经被处理过。在这种情况下,HTML 页面将被丢弃。
  • 如果不在存储中,则系统之前没有处理过相同的内容。内容被传递给链接提取器。

第 7 步:网址提取器从 HTML 页面中提取网址。
第 8 步:将提取的网址传递给 URL 过滤器。
第 9 步:网址过滤后,传递给“URL Seen?”组件。
第 10 步:“URL Seen”组件检查一个URL是否已经在存储中,如果是,则之前处理过,不需要做任何事情。
第 11 步:如果一个 URL 以前没有被处理过,它被添加到 URL Frontier。

2025/4/10 13:28:20(UTC+0)

301重定向。
301重定向表明,请求的URL被 "永久 "地移到了长URL上。由于是永久重定向,浏览器会缓存响应,对同一URL的后续请求将不会被发送到URL缩短服务上。相反,请求将直接被重定向到长网址服务器。
302重定向。
302重定向意味着URL被 "暂时 "移到长URL上,这意味着对同一URL的后续请求将首先被发送到URL缩短服务上。然后,它们会被重定向到长网址服务器。
如果优先考虑减少服务器负载,使用301重定向是有意义的,因为只有同一URL的第一个请求被发送到URL缩短服务器。然而,如果分析是重要的,302重定向是一个更好的选择,因为它可以更容易地跟踪点击率和点击的来源。

image.png

1.longURL 是输入的
2.系统检查 longURL 是否存在于数据库中
3.如果是的话,这意味着longURL之前被转换为shortURL。在这种情况下,从数据库中获取shortURL并将其返回给客户端。
4.如果不是,longURL是新的。一个新的唯一ID(主键)由唯一ID生成器生成。
5.使用base 62转换将ID转换为shortURL。
6.用ID、shortURL和longURL创建一个新的数据库记录。

...

2025/4/9 16:35:48(UTC+0)

一些markdown语法

  • 段落:直接输入文字,段落间空一行。
  • 换行:行尾添加两个空格或空一行。

段内换行是shift+回车键,而换段落是回车键

-+空格 = 无序列表

  • 无序列表
    • 子项

‘>’一级引用 多行需每行加 > ...

2025/4/9 15:55:34(UTC+0)

一致性哈希

1743648611337.png

一致性哈希的好处包括:

1.当服务器被添加或删除时,很小一部分的键被重新分配。

2.容易水平扩展,因为数据分布更加均匀。

3.缓解热点健问题。

4.对特定分片的过度访问可能会导致服务器过载。 想象一下 Katy Perry、Justin Bieber 和 Lady Gaga 的数据最终都在同一个分片上。 一致性哈希通过更均匀地分配数据来缓解这个问题。 ...

2025/4/3 02:56:10(UTC+0)

示例:估算Twitter的查询量和存储需求

请注意,以下数字仅用于本练习,不是 Twitter 的真实数据。

假设:

每月活跃用户为3亿。

50%的用户每天使用 Twitter。

用户平均每天发布2条推文。

10%的推文包含媒体。

数据存储时间为5年。 ...

2025/4/2 05:51:45(UTC+0)

1743572175390.png

2025/4/2 05:38:07(UTC+0)

CDN工作流程: image.png

1.用户A尝试通过图片URL获取image.png。这个URL的域名是由CDN提供商提供,以下两个图像URL是用于演示URL在Amazon和Akamai CDN上的示例: https://mysite.cloudfront.net/logo.jpg

https://mysite.akamai.com/image-manager/img/logo.jpg

2.如果CDN服务器缓存中没有这个图片image.png,CDN服务器会从源(可以是Web服务器或在线存储,如Amazon S3)请求文件。

3.源返回image.png给CDN服务器,并包含可选的HTTP头部Time-to-Live(TTL),它表示图像被缓存的时间有多长。

4.CDN缓存图像并将其返回给用户A。在TTL过期之前,图像一直被缓存在CDN中。

5.用户B发送一个请求获取相同的图片

6.只要TTL尚未过期,图像就会从缓存中返回。

2025/4/2 05:31:45(UTC+0)

一个系统设计: 1743569379918.png

1.用户从DNS获取负载均衡器的IP地址

2.用户使用这个IP地址连接到负载均衡器

3.HTTP请求被路由到Server 1或Server 2。

4.Web服务器从从数据库读取用户数据

5.Web服务器将任何修改数据的操作路由到主数据库,这包括写入,更新和删除操作。

2025/4/2 04:51:53(UTC+0)

负载均衡: 1743568960512.png 用户直接连接负载均衡的公网IP。通过此配置,客户端不再直接访问web服务器,为了提高安全性,服务器之间的通信使用私有IP。私有IP是仅在同一网络中的服务器之间可达的IP地址。然而,它在互联网上是不可访问的。负载均衡器通过私有IP与Web服务器通信。

.1如果服务器1下线,所有流量将被路由到服务器2。这可以防止网站离线,我们还将在服务器池中添加一个新的健康Web服务器来平衡负载。

.2如果网站流量迅速增长,并且两台服务器不足以处理流量,那么负载均衡可以很好的处理这个问题,你只需要向web服务器池中添加更多的服务器,负载均衡会自动发送请求给他们。

2025/4/2 04:47:00(UTC+0)

单服务器: 1743566066896.png 1.用户通过域名访问网站,例如api.mysite.com。通常,域名系统(DNS)是由第三方提供的付费服务,而不是由我们的服务器托管。

2.Internet Protocol(IP)地址被返回给浏览器或移动应用程序。在这个例子中,返回的IP地址是15.125.23.214。

3.一旦获得了IP地址,就会直接向您的Web服务器发送超文本传输协议(HTTP)[1]请求。

4.Web服务器返回用于渲染的HTML页面或JSON响应。

2025/4/2 04:36:15(UTC+0)