商务服务
java 处理百万级数据 java百万级并发怎么实现的
2024-11-19 03:08

java 处理百万级数据 java百万级并发怎么实现的

关于服务器百万并发的一些整理

  • 1 初始架构图
  • 2 反向代理
  • 2.1 反向代理概念
  • 2.2 正向代理
  • 2.2.1 正向代理介绍
  • 2.2.2 关于代理总结
  • 2.3 Nginx
  • 2.3.1 Nginx服务器介绍
  • 2.3.2 Nginx安装使用
  • 2.3.3 Nginx命令
  • 2.3.4 Nginx反向代理原理
  • 2.3.5 编辑hosts文件
  • 2.3.6 修改HOSTS文件
  • 2.4 实现域名代理
  • 2.4.1 需求说明
  • 2.4.2 配置nginx
  • 2.5 Nginx实现tomcat集群部署
  • 2.5.1 集群搭建原理
  • 2.5.2 动态展现端口号
  • 2.6 Nginx负载均衡
  • 2.6.1 轮询策略
  • 2.6.2 权重策略
  • 2.6.3 IPHASH策略
  • 2.7 Nginx高级属性
  • 2.7.1 down属性
  • 2.7.2 backup 属性
  • 2.7.3 tomcat服务器高可用
  • 4 Dubbo框架介绍
  • 4.2 Dubbo 入门案例
  • 4.2.1 导入jar包
  • 4.2.1 导入项目
  • 4.3 关于入门案例说明
  • 4.3.1 定义接口
  • 4.3.2 服务生产者
  • 4.3.3 服务消费者
  • 4.3.3.1 编辑消费者的接口文件
  • 4.3.3.2 编辑服务消费者的yml文件

这篇文章是我在学习服务器百万并发中整理的一些知识和总结

java 处理百万级数据 java百万级并发怎么实现的

在一般的传统架构中,包括反向代理实现负载均衡,搭建缓存服务器实现减少数据库访问压力,实现数据库的读写分离和搭建主从关系实现数据库的高可用,通过如上图的搭建下的项目系统,基本实现了处理高并发的框架,下面来一个一个介绍一下。

2.1 反向代理概念

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

特点: 1.反向代理服务器是位于用户和目标服务器之间的. 2. 用户以为反向代理服务器就是真实的服务器. 用户不知道真实的服务器到底是谁. 3. 反向代理服务器保护服务端信息,称之为服务器端代理.

代理存在的原因: 用户由于某种原因无法直接访问目标服务器,完成指定的功能.

java 处理百万级数据 java百万级并发怎么实现的

2.2.1 正向代理介绍

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

特点: 1.代理服务器位于用户与服务器之间 2.用户请求时,非常明确目标服务器到底是谁. 服务器不清楚到底是谁访问的我.以为是代理服务器直接发起的请求. 3.正向代理服务器保护了用户的信息,所以称之为客户端代理.

java 处理百万级数据 java百万级并发怎么实现的

2.2.2 关于代理总结

1.反向代理是服务器端代理. 只要用户访问服务器,其实都是反向代理机制. 实现业务调用 2.正向代理是客户端代理.主要用户上网就就使用正向代理 实现的是网络通信头 网穿工具 夜神模拟器/花生壳

2.3.1 Nginx服务器介绍

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 特点: 1.占用内存少 2M tomcat启动 200M左右 2.并发能力强 5万/秒 实际2-4万/秒

2.3.2 Nginx安装使用

WIN10安装

1).启动Nginx nginx启动会生成2个进程项

1.主进程 主要的作用是提供反向代理服务的. 在关闭主进程 内存大的

2.守护进程 防止主进程意外关闭的. 先关闭守护

java 处理百万级数据 java百万级并发怎么实现的

2.3.3 Nginx命令

工作目录说明: 要求在nginx.exe所在的根目录中执行 1.启动命令 start nginx Linux https://blog.51cto.com/u_16099330/nginx 2.重名命令 nginx -s reload Linux: https://blog.51cto.com/u_16099330/nginx -s reload 3.关闭命令 nginx -s stop Linux: https://blog.51cto.com/u_16099330/nginx -s stop

2.3.4 Nginx反向代理原理

  1. 入门案例说明: http://localhost:80
  2. 配置项

2.3.5 编辑hosts文件

作用: 实现本地域名与IP地址的映射

路径:

java 处理百万级数据 java百万级并发怎么实现的

2.3.6 修改HOSTS文件

java 处理百万级数据 java百万级并发怎么实现的

java 处理百万级数据 java百万级并发怎么实现的

2.4.1 需求说明

需求: 要求用户通过 http://manage.smilefit.shop 访问localhost:8091的服务器. 实现方式: 利用反向代理机制实现

2.4.2 配置nginx

2.5.1 集群搭建原理

java 处理百万级数据 java百万级并发怎么实现的

2.5.2 动态展现端口号

java 处理百万级数据 java百万级并发怎么实现的

2.6.1 轮询策略

说明: 根据配置文件的顺序,依次访问服务器.

java 处理百万级数据 java百万级并发怎么实现的

2.6.2 权重策略

说明: 让性能更优的服务器处理更多的用户请求.

java 处理百万级数据 java百万级并发怎么实现的

2.6.3 IPHASH策略

需求: 需要将用户与某台服务器进行绑定.

java 处理百万级数据 java百万级并发怎么实现的

原理:

java 处理百万级数据 java百万级并发怎么实现的

缺点:

  1. 容易造成负载不均现象.
  2. 如果IP地址与用户绑定在一起,如果tomcat服务器宕机,则直接影响用户.

IPhash实用场景:一般进行压力测试时使用.

2.7.1 down属性

说明:如果服务器宕机,则可以通过down属性进行标识,被标识的服务器则不会再为用户提供支持.

java 处理百万级数据 java百万级并发怎么实现的

2.7.2 backup 属性

备用机的设定. 一般条件下备用机不干活的,但是当主机遇忙时,或者主机宕机时,才会访问备用机.

java 处理百万级数据 java百万级并发怎么实现的

2.7.3 tomcat服务器高可用

说明:如果人为的添加down属性 效率不高, 能否自动的检测服务器是否宕机,如果宕机,能否自动的标识为down.

java 处理百万级数据 java百万级并发怎么实现的

注册中心实现原理: 1.当服务器启动时,会将服务器的状态(服务名称/IP/端口)一起写入注册中心 2.注册中心接受到服务器信息时,会动态的维护服务列表数据 3/4.当客户端(消费者)启动时,首先会链接注册中心,获取所有的服务列表数据,并且将服务列表数据保存到本地 5.当消费者执行业务时,如果有多个服务的生产者时,采用负载均衡的思想挑选其中的一个服务进行访问(RPC). 6.当服务器发生宕机时,由于注册中心有心跳检测机制,所有会动态的维护服务列表数据.会全网广播通知所有的客户端(消费者)更新服务列表数据. 在更新服务列表时,数据的同步会陷入阻塞的状态.

关于微服务思想负载均衡 集中式负载均衡 说明:所有的请求都必须由某个服务器进行统一的管理 案例:Nginx是集中式的负载均衡

提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。

java 处理百万级数据 java百万级并发怎么实现的

1)项目结构

java 处理百万级数据 java百万级并发怎么实现的

2)定义接口

java 处理百万级数据 java百万级并发怎么实现的

java 处理百万级数据 java百万级并发怎么实现的

4.3.3.1 编辑消费者的接口文件

java 处理百万级数据 java百万级并发怎么实现的

4.3.3.2 编辑服务消费者的yml文件

java 处理百万级数据 java百万级并发怎么实现的

单点登录实现步骤: 1.用户通过用户名和密码访问web服务器 2.web服务器通过sso校验用户名和密码是否正确。 3.如果用户名和密码正确,则将数据保存到redis仲,TICKET密钥:USERJSON,之后将密钥返回给用户即可 4.web服务器将密钥信息保存到用户的cookie中 并且设定cookie的共享/有效时间

    以上就是本篇文章【java 处理百万级数据 java百万级并发怎么实现的】的全部内容了,欢迎阅览 ! 文章地址:http://lanlanwork.gawce.com/news/9843.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 阁恬下移动站 http://lanlanwork.gawce.com/mobile/ , 查看更多   
最新新闻
百度识图怎么用(百度识图功能好用吗)(百度产品大全)
识图搜索提供两种图片输入方式,用户可以上传本地图片或者输入网络图片的URL地址,将图片传给搜索引擎之后,百度识图将会自动识
更多资讯行业资讯
从合资到自主,从数量到质量,中国汽车产业的整体水平和中国人的生活水平同步提高的同时,也发生着深刻的变化。乘着产业发展的东
忻州关键词seo优化排名
百度关键词搜索排名系统优化的方法:中,选择错误的的关键词、合理使用标题和描述、内部链接优化系统、外部链接360优化、关键词密
springboot整合百度AI的图片和文字违规识别
1.用户注册登录:用户进行注册,登录。2.商品浏览:以列表方式显示商品信息或者可以查看商品。3.商品搜索:用户可以通过关键字或
谁还在用百度搜索?
文/周音微软必应超越百度,成为中国桌面搜索第一大引擎。曾经的百度搜索,跌落王座。这是一家美国数据统计机构发布的中国桌面搜
锚定「AI向实」,百度研究院发布2023年十大科技趋势
机器之心报道机器之心编辑部过去四年,智能技术构筑起了科技变革的主线,AI 向实,成为当今时代科技发展的主干道。—— 百度首席
百度新闻史诗级大调整
作者|奇袭来源|品牌公关实验室继2017年3月宣布取消新闻源库后,百度新闻在2023年年中迎来了历史上最大规模的新闻收录展示调整
盘点:14款免费的关键词研究工具
选好关键词对于卖家来说至关重要,本文盘点了一些免费的关键词工具。以下是14种不同的免费关键词研究工具的清单,可以帮助卖家找
韩文翻译器拍照扫一扫
微信使用更方便:1、微信搜索小程序“ 拍照翻译精灵 ”不仅仅是翻译,是一个功能多样的小程序 :拍照翻译、拍照提取文字、拍照识
手机百度 10.3.8 For iphone
华军软件园频道,为您提供手机百度iPhone版下载、手机百度苹果版下载。手机百度iPhone版来自全世界最大的中文搜索引擎百度的iPho