4 南夏

尚未进行身份认证

做你自己想做的事~

等级
博文 78
排名 4w+

redis分布式锁实现多线程售票(附带源码实现)

redis分布式锁实现多线程售票(附带源码实现)使用redissetNxgetSet方法实现分布式锁,获取到锁的线程将进行售票核心业务操作,具体见代码,欢迎讨论!一.redis命令讲解:setnx()命令:setnx的含义就是SETifNotExists,其主要有两个参数setnx(key,value)。该方法是原子的,如果key不存在,则设置当前...

2019-03-14 17:19:07

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore详解和代码分析

Java并发编程:CountDownLatch、CyclicBarrier和Semaphore  在java1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。以下是本文目录大纲:一.CountDownLatch用法二.CyclicBarrier用法三.Se...

2019-03-14 14:47:38

Nginx (一)简介和基本的功能作用

Nginx(“enginex”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。...

2018-08-21 09:48:01

大型网站应用之海量数据和高并发解决方案

一、网站应用背景开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器+一台数据库服务器+一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能,当然,也要考虑成本的问题。当问题的规模在经济条件下通过堆硬件的方式解决不了的时候,我们应该通过其他的思路去解决问题,互联网发展至今,已经提供了很多成熟的解决方案,但并不是都具有适用性,你...

2018-08-13 16:31:57

数据库规范和优化方案(四)-----mysql分区

一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi...

2018-08-13 16:11:34

数据库规范和优化方案(三)---mysql数据库分表及实现

mysql数据库分表及实现项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多。以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈。当出现这种情况时,我们可以考虑分表,即将单个数据库表进行拆分,拆分成多个数据表,然后用户访问的时候,根据一定的算法,让用户访问不同的表,这样数据分散到多个数据表中,减少了单个数据表的访问压力。提升了数据库访问性...

2018-08-13 15:40:45

数据库规范和优化方案(二)--19个MySQL性能优化要点解析

1、为查询优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:/...

2018-08-13 15:15:42

数据库规范和优化方案(一)

一、数据库设计方面1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 orderby 涉及的列上建立索引;2、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: selectidfromtwherenumisnull 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: sel...

2018-08-13 14:12:38

Nginx(二)反向代理与负载均衡详细配置

    反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。    负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、...

2018-08-12 15:12:11

第五阶段:Git分布式版本控制系统指南-----Git的安装使用和详细教程

主要讲解如何在IntelliJIDEA开发工具中使用Git图形化工具来提交代码。 Git是一个开源免费的、分布式的版本管理工具(以前都是使用SVN),功能更强大,越来越多的公司更倾向于使用Git来做项目的版本控制。IntelliJIDEA开发工具提供了对Git的图形化操作,使得那些不懂或者记不住git命令的开发人员可以很方便地使用Git。下面我们就通过一个视频来讲解如何使用IDEA提供...

2018-08-11 15:54:56

通过webSocket实现app产生的数据在网页实时显示

一概述##在项目中有这样一个需要,app为智能心电跑步类app,在跑步时需要在网页端显示用户的跑步信息,包括跑步时长、心率、心电图等,其中心电图是需要实时更新的。当用户开始跑步时在网页上显示这些信息,跑步结束时结束实时数据显示,将最终跑步结果显示在网页时,效果图如下:在网页上的显示效果如下:先做个大致的分析,数据要做到实时显示,需要将app产生的数据通过网络发送到服务器...

2018-08-11 13:16:12

SpringBoot+websocket实现实时的点对点或群发通信(内附详细代码实现)

websocket原理WebSocket用于在Web浏览器和服务器之间进行任意的双向数据传输的一种技术。WebSocket协议基于TCP协议实现,包含初始的握手过程,以及后续的多次数据帧双向传输过程。其目的是在WebSocket应用和WebSocket服务器进行频繁双向通信时,可以使服务器避免打开多个HTTP连接进行工作来节约资源,提高了工作效率和资源利用率。1.什么是keep-al...

2018-08-11 12:53:38

kafka集群的搭建

 第一步:准备1.操作系统CentOS-7-x86_64-Everything-15112.安装包kafka_2.12-0.10.2.0.tgzzookeeper-3.4.9.tar.gz3.Java环境Zookeeper和Kafka的运行都需要Java环境,Kafka默认使用G1垃圾回收器。如果不更改垃圾回收期,官方推荐使用7u51以上...

2018-08-09 14:45:33

搭建三台高可用hadoop服务器集群

如果只有3台主机,可以按照如下规划来部署安装weekend01   zookeeper   journalnode  namenodezkfc   resourcemanager datanodeweekend02   zookeeper   journalnode  namenodezkfc   resourcemanager datanodeweeke...

2018-08-09 11:44:34

生产环境部署项目

 常用linux指令--重命名mv fileName  otherNameftpip密码;bin将文件转换成二进制  获取文件:(获取文件的目录是/updata/)get文件名   拷贝:cp-rop.zip../op.zip  解压:unzipFileName.zip压缩:zip-rFileName...

2018-08-08 18:03:38

第五阶段:Git分布式版本控制系统指南------在IDEA中Git实战和冲突解决(二)

主要讲解如何使用IntelliJIDEA开发工具提供的Git图形化工具来解决代码冲突问题。 学习本节课程之前,建议先学习在IntelliJIDEA中使用Git提交代码,因为本节课会有提交代码的操作。01— 什么情况下会出现代码冲突? 一般在企业中,都是通过团队协作的方式来开发一个项目,每个人都在编写代码或者修改代码,都会向Git服务器提交代码,如果多个人修改了同...

2018-08-08 11:14:52

第五阶段:Git分布式版本控制系统指南-----在IDEA中Git实战和冲突解决(一)

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七...

2018-08-08 10:22:32

第一阶段:Svn版本管理与代码上线架构方案-----

11

2018-08-06 13:57:20

架构师学习成长路线

 01.第一-阶段、Svn版本管理与代码上线架构方案 02.第二_阶段、实战Java高并发程序设计模式视频 03.第三阶段、深入JVM内核--原理、诊断与优化 04.第四阶段、基于Netty的RPC架构实战演练 05.第五阶段、Git分布式版本控制系统权威指南 06.第六阶段、Redis从入门到精通、集群与应用 07.第七阶段、基于案例学Java服务器端程序设计Zer...

2018-08-06 13:15:32

spark流程源码解析

   左边绿色的是客户端,右边的是我们要提交到的spark集群   不同的Masterurl会生成不同的TaskScheduler,而TaskScheduler是真真正正的去申请资源的,因为是不同的集群模式,所以他申请资源的方式不一样,所以生成的TaskScheduler的Barkend就不一样,而Barkend是真真正正和底层进行通讯的一个角色。yarn的模式...

2018-05-04 15:34:31
奖章
    暂无奖章