乐趣区

关于java:jt项目总结初稿2

jt 我的项目插件介绍

1)redis

参考《jt 我的项目总结初稿(1)》中 redis 篇目。

2)nginx

2.1)为什么须要反向代理

---------
需要: 当实现文件上传时, 业务返回页面的是虚拟地址门路
url 地址: `http://image.jt.com/2020/09/30/a.jpg`
实在图片地址: `file:///D:/JT-SOFT/image/2020/09/30/d534bed912c748b0ac979ee40222490a.jpg`
问题: 如何让用户通过 url 拜访 找到实在的磁盘地址的图片

2.2)反向代理介绍

反向代理服务器位于用户与指标服务器之间 ,然而对于用户而言,反向代理服务器就相当于指标服务器,即 用户间接拜访反向代理服务器就能够取得指标服务器的资源 。同时,用户 不须要晓得指标服务器的地址 ,也毋庸在用户端作任何设定。反向代理服务器通常可用来作为 Web 减速,即应用反向代理作为 Web 服务器的前置机来升高网络和服务器的负载,进步拜访效率。
概括:
1. 位于用户 (客户端)- 服务器之间.
2. 用户拜访反向代理服务器, 认为是实在的服务器信息.
3. 用户基本不分明实在的服务器信息到底是谁.
4. 个别反向代理机制爱护了实在的服务器信息, 所以也称之为 服务器端代理.

Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开发的,第一个公开版本 0.1.0 公布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的模式公布,因它的稳定性、丰盛的功能集、示例配置文件和低系统资源的耗费而闻名。2011 年 6 月 1 日,nginx 1.0.4 公布。**Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器,** 在 BSD-like 协定下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的网页服务器中体现较好,中国大陆应用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

特点:1. 内存少 不超过 2M tomcat 服务器大概占用 600M
2. 并发能力强 3- 5 万次 / 秒 tomcat 服务器大概 150-220 之间

注意事项:

  1. 不要将 nginx 放到 C 盘及系统目录中 留神中文门路和空格.
  2. nginx 服务器启动的速度特地快, 窗口会闪退 只启动一次即可
  3. nginx 启动会占用 80 端口.
  4. nginx 命令的运行必须在 nginx.exe 所在的目录中执行.

3)mycat

3.1)数据库实现高可用


高可用: 用户拜访数据时拜访数据库代理,数据库代理将调配主从库配置,主库尽量应用增删改,从库只进行查问,尽量保障服务尽可能的不宕机, 保障用户失常应用,当某一台数据库宕机时残余一个还能够持续运行.

3.2)数据库双机热备


阐明: 个别在公司中配置双机热备的模式, 配置为互为主从.

3.3)实现数据库高可用测试

测试步骤:
1. 敞开主数据库, 之后检索数据, 检查用户的拜访是否受限.
2. 批改数据库记录, 检查用户的操作是否失常. (操作的是从库)
3. 重启主数据库 之后查看从库的数据是否同步.

4)zookeeper 注册核心介绍


ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件 ,提供的性能包含:配置保护、域名服务、分布式同步、组服务等。
ZooKeeper 的指标就是封装好简单易出错的要害服务,将简略易用的接口和性能高效、性能稳固的零碎提供给用户。
ZooKeeper 蕴含一个简略的原语集,提供 Java 和 C 的接口。
ZooKeeper 代码版本中,提供了分布式独享锁、选举、队列的接口,代码在 $zookeeper_homesrcrecipes。其中散布锁和队列有 Java 和 C 两个版本,选举只有 Java 版本。
概括: ZK 次要的工作是 服务的调度 , 提供一致性的性能.

)对于集群常识介绍


4.1) 最小的集群单位几台

公式: 存活节点的数量 > N/2 集群能够创立
1 台: 1-1 > 1/2 假的
2 台: 2-1> 2/2 假的
3 台: 3-1> 3/2 正确
4 台: 4-1> 4/2 正确

论断: 搭建集群的最小单位 3 台.

4.2) 为什么集群个别都是奇数
  1. 3 台集群最多宕机几台 集群能够失常工作 最多宕机 1 台
  2. 4 台集群最多宕机几台集群能够失常工作 最多宕机 1 台
    如果实现雷同的性能 奇数台更优.
4.3) 对于 zk 集群选举规定

准则: myid 最大值优先 myid 值越大的越容易当主机. 超半数批准即入选主机
题目: 问 1,2,3,4,5,6,7 顺次启动 问 1: 谁当主机 4 当主机
问 2: 谁永远不能入选主机??? 1 2 3

4.2)传统我的项目问题


1. 如果采纳 nginx 形式 实现负载平衡, 当服务数量扭转时, 都必须手动的批改 nginx.conf 配置文件. 不够智能.
2. 所有的申请都会通过 nginx 服务器作为直达. 如果 nginx 服务器一旦宕机, 则间接影响整个零碎.nginx 最好只做简略的 反向代理 即可
传统的形式 不够智能…

微服务调用形式介绍


调用步骤:
1. 将服务信息写入到注册核心(1. 服务名称 2. 服务 IP 地址 3. 端口)
2. 注册核心接管到服务器信息, 会动静的保护服务列表数据.
3. 消费者启动时会链接注册核心. 目标获取服务列表数据.
4. 注册核心会将服务列表数据同步给消费者, 并且保留到消费者本地. 当前不便调用.
5. 当消费者开始业务调用时, 会依据已知的服务信息进行负载平衡操作, 拜访服务提供者.
6. 当服务提供者宕机时, 由与注册核心有心跳检测机制. 所以会动静的保护服务列表.
7. 当注册核心的服务列表变动时, 则会全网播送 告诉所有的消费者 更新本地服务列表.

退出移动版