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

服务1到N:它们代表不同的服务,通过通知服务器提供的API发送通知。
通知服务器: 它们提供以下功能:
-
为服务提供发送通知的API。这些API只能由内部或经过验证的客户访问,以防止垃圾邮件。
-
进行基本验证,以核实电子邮件、电话号码等。
-
查询数据库或缓存以获取渲染通知所需的数据。
-
将通知数据放到消息队列中进行并行处理。
-
下面是一个发送电子邮件的API的例子:
POST https://api.example.com/v/sms/send
Request body:
-
缓存:用户信息、设备信息、通知模板都被缓存了。
-
数据库:它存储了关于用户、通知、设置等方面的数据。
...

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

1.longURL 是输入的
2.系统检查 longURL 是否存在于数据库中
3.如果是的话,这意味着longURL之前被转换为shortURL。在这种情况下,从数据库中获取shortURL并将其返回给客户端。
4.如果不是,longURL是新的。一个新的唯一ID(主键)由唯一ID生成器生成。
5.使用base 62转换将ID转换为shortURL。
6.用ID、shortURL和longURL创建一个新的数据库记录。
...
一些markdown语法
- 段落:直接输入文字,段落间空一行。
- 换行:行尾添加两个空格或空一行。
段内换行是shift+回车键,而换段落是回车键
-+空格 = 无序列表
- 无序列表
- 子项
‘>’一级引用 多行需每行加 >
...
一致性哈希

一致性哈希的好处包括:
1.当服务器被添加或删除时,很小一部分的键被重新分配。
2.容易水平扩展,因为数据分布更加均匀。
3.缓解热点健问题。
4.对特定分片的过度访问可能会导致服务器过载。 想象一下 Katy Perry、Justin Bieber 和 Lady Gaga 的数据最终都在同一个分片上。 一致性哈希通过更均匀地分配数据来缓解这个问题。 ...
示例:估算Twitter的查询量和存储需求
请注意,以下数字仅用于本练习,不是 Twitter 的真实数据。
假设:
每月活跃用户为3亿。
50%的用户每天使用 Twitter。
用户平均每天发布2条推文。
10%的推文包含媒体。
数据存储时间为5年。 ...

CDN工作流程:

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尚未过期,图像就会从缓存中返回。
一个系统设计:

1.用户从DNS获取负载均衡器的IP地址
2.用户使用这个IP地址连接到负载均衡器
3.HTTP请求被路由到Server 1或Server 2。
4.Web服务器从从数据库读取用户数据
5.Web服务器将任何修改数据的操作路由到主数据库,这包括写入,更新和删除操作。
负载均衡:
用户直接连接负载均衡的公网IP。通过此配置,客户端不再直接访问web服务器,为了提高安全性,服务器之间的通信使用私有IP。私有IP是仅在同一网络中的服务器之间可达的IP地址。然而,它在互联网上是不可访问的。负载均衡器通过私有IP与Web服务器通信。
.1如果服务器1下线,所有流量将被路由到服务器2。这可以防止网站离线,我们还将在服务器池中添加一个新的健康Web服务器来平衡负载。
.2如果网站流量迅速增长,并且两台服务器不足以处理流量,那么负载均衡可以很好的处理这个问题,你只需要向web服务器池中添加更多的服务器,负载均衡会自动发送请求给他们。
单服务器:
1.用户通过域名访问网站,例如api.mysite.com。通常,域名系统(DNS)是由第三方提供的付费服务,而不是由我们的服务器托管。
2.Internet Protocol(IP)地址被返回给浏览器或移动应用程序。在这个例子中,返回的IP地址是15.125.23.214。
3.一旦获得了IP地址,就会直接向您的Web服务器发送超文本传输协议(HTTP)[1]请求。
4.Web服务器返回用于渲染的HTML页面或JSON响应。