人类三大思维

1、逻辑思维 数学(推理)

2、实证思维 物理(观察,归纳)

3、计算思维 计算机(抽象,自动)

分布式 or 集群?

为支撑一个中大型网站所搭建架构时,会选用一些技术栈。比如在多个 web 服务器前使用 LVS 做负载均衡,使用 keeplived 实现 LVS 高可用,在多个 Mysql 从节点前使用负载均衡器,Mongodb 使用复制集方式,使用 twemproxy 管理多个 Redis 节点,Mysql、Mongodb、Redis 做主从同步,使用 Hadoop 管理大数据,对 Mysql 分库分表分区,Mongodb 分片,多实例Memcached,按业务将服务划分等等。这些都是通过使用多个节点来响应请求、计算、存储从而应对访问量高、并发请求大、数据量大的问题。具有这种特征的架构我们称作为“分布式服务器集群架构”。

Linux 下常见 IO 模型

常见的网络 I/O 模型大概有四种:

  1. 同步阻塞 IO(Blocking IO)
  2. 同步非阻塞 IO(Non-blocking IO)
  3. IO 多路复用(IO Multiplexing)
  4. 异步 IO(Asynchronous IO)

三类加密算法

加密技术是对信息进行编码和解码的技术。在加密算法上可分为对称加密、非对称加密和单向不可逆加密三类算法。

全球化 — 移动网号(MNC)

即移动网号,两个数字。格式:MNC 由二个十进制数组成,编码范围为十进制的00-99。用于识别移动客户所属的移动网络。若一个国家中有多于一个的 GSM 公司陆地移动网(PLMN),则每个网必须具有不同的 MNC。 MNC 一般由国家的有关电信管理部门统一分配,同一个营运者可以拥有一个或多个 MNC (视业务提供的规模而定),但不同的营运者不可以分享相同的 MNC。由于 MNC 的特殊意义,因此它在网络中一旦设定是不允许更改的。

全球化 — 国际移动用户识别码(IMSI)

IMSI 即国际移动用户识别码 International Mobile Subscriber Identity。国际上为唯一识别一个移动用户所分配的号码。从技术上讲,IMSI 可以彻底解决国际漫游问题。但是由于北美目前仍有大量的 AMPS 系统使用 MIN 号码,且北美的 MDN 和 MIN 采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以 MIN 为主。其中以0和1打头的 MIN 资源称为IRM(International Roaming MIN),由 IFAST (International Forum on ANSI-41 Standards Technology)统一管理。目前联通申请的IRM资源以09打头。可以看出,随着用户的增长,用于国际漫游的 MIN 资源将很快耗尽,全球统一采用 IMSI 标识用户势在必行。

全球化 — 语言代码

ISO 639是数个由国际标准化组织为各语言所订定的语言代码。比如中文的 ISO 639-1 代码为 zh。 ISO 639-1是国际标准化组织 ISO 639语言编码标准的第一部分。它含有 136 个两字母的编码,用来标示世界上主要的语言。这些代码在很多地方都被用作语言的简写,例如:

英语(English)用 en 表示;
德语(Deutsch)用 de 表示(Deutsch 是德语的本名);
日语(Japanese)用 ja 表示(尽管日语的拼音是 Nihongo);
汉语 使用 zh 表示,来自“中文”的汉语拼音:Zhōngwén;

ISO 639-1 在2002年成为正式标准,ISO 639-1 收录语言列表➫

全球化 — 时区

时区(Time Zone)是地球上的区域使用同一个时间定义。1884年在华盛顿召开国际经度会议时,为了克服时间上的混乱,规定将全球划分为24个时区。比如中国为东八区(UTC/GMT+08:00)。是比世界协调时间(UTC)/格林威治时间(GMT)快8小时的时区。在1884年的“国际经度会议”上,格林尼治天文台测定的经线被确定为零度经线,有关国际会议决定将地球表面按经线从南到北,每相隔15度划一个区域,这样一共有24个区域,并且规定相邻区域的时间相差1小时。在同一区域内的东端和西端的人看到太阳升起的时间最多相差不过1小时。

全球化 — 手机号

移动端获取本机手机号

ios、Android 在手机插入了 SIM 卡,并且获得用户授权后可以获取到本机手机号。
有些运营商 SIM 并不能获取到本机号
获取到的手机号包含国家冠码+国家区码+手机号
ios 在获取本机号可能存在 AppStore 审核不通过可能,ios 一般不会去获取本机号。




全球化 — 国际冠码

国际冠码是要拨打国际电话时,在键入受话地区的国际电话区号前,所须键入发话地区的输出(前缀)码,以转接至国际电话线路用的数字。在拨打国际电话时,通常会将国际冠码放在国际电话区号前以表示本号码将会拨离本地。例如当在美国要拨打电话至英国的号码1234 567890时,就必须先输入美国的国际冠码 011,然后英国的国际区号 44 再接着当地的电话号码 1234 567890,也就是说整体的形式为 011-44-1234-567890 。加号(+)可以用来代替任何国家的冠码,用以表示拨号者使用了所在国家的国际冠码。当前的大部分手机都允许“+”的输入,可以是按住“0”键(大部分GSM制式的手机)或连按两次“*”星号键输入。在使用时,系统会根据电话被使用的位置自动将“+”转换成正确的国际代码,使得拨打者可以在任何国家用相同的储存号码拨打电话。“+”也可以用“00”来代替。

全球化 — 移动设备国家代码(MCC)

移动设备国家代码 Mobile Country Code (MCC)由三位十进制数组成,它表明移动用户(或系统)归属的国家。
格式。MCC 由三个十进制数组成,编码范围为十进制的000-999。作为全球唯一的国家识别标准,MCC 的资源由国际电联(ITU)统一分配和管理。ITU 建议书 E.212 规定了各国的 MCC 号码。中国的移动设备国家代码为460(十进制)。 由于 MCC 的特殊意义,因此它在网络中一旦设定之后是不允许更改的。