-
PHP一致性Hash
随着memcache、Redis以及其它一些内存K/V数据库的流行,一致性哈希也越来越被开发者所了解。因为这些内存K/V数据库大多不提供分布式支持(本文以redis为例),所以如果要提供多台redis server来提供服务的话,就需要解决如何将数据分散到redis server,并且在增减redis server时如何最大化的不令数据重新分布,这将是本文讨论的范畴。 取模算法 取模运算通常用于得…- 15
- 0
-
Redis 分布式缓存 Java 框架
为什么要在 Java 分布式应用程序中使用缓存? 在提高应用程序速度和性能上,每一毫秒都很重要。根据谷歌的一项研究,假如一个网站在3秒钟或更短时间内没有加载成功,会有 53% 的手机用户会离开。 缓存是让分布式应用程序加速的重要技术之一。存储的信息越接近 CPU,访问速度就越快。从 CPU 缓存中加载数据比从 RAM 中加载要快得多,比从硬盘或网络上加载要快得多得多。 要存储经常访问的数据,分布式…- 9
- 0
-
Go语言系列(十二)之RabbitMQ消息队列
1. RabbitMQ是什么? MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。 生活场景: 1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给用户。 在这业务场景中…- 54
- 0
-
Java 架构师+高并发+性能优化+Spring boot大型分布式项目实战
视频课程内容包含: 高级 Java 架构师包含:Spring boot、Spring cloud、Dubbo、Redis、ActiveMQ、Nginx、Mycat、Spring、MongoDB、ZeroMQ、Git、Nosql、Jvm、Mecached、Netty、Nio、Mina、性能调优、高并发、tomcat 负载均衡、大型电商项目实战、高可用、高可扩展、数据库架构设计、Solr 集群与应用、…- 7
- 0
-
SpringBoot 分布式session
SpringBoot 分布式session实现 1. 什么是分布式session 在集群环境中,不得不考虑的一个问题是用户访问产生的session如何处理。如过不做任何处理,用户将出现频繁俸禄的现象,比如集群中存在A、B两台服务其,用户第一次访问网站时,Nginx通过负载均衡机制将用户请求转发到A节点,这时A节点就会给用户创建一个session。当用户第二次发送请求时,Nginx将其转发到B节点,…- 17
- 0
-
微服务之分布式跟踪系统(springboot+zipkin+mysql)
通过上一节《微服务之分布式跟踪系统(springboot+zipkin)》我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra、MYSQL、ElasticSearch。 二、zipkin的各种Storage配置简介 zipkin存在一些公用的配置,同时存在一些私有的配置(详细信息地址为…- 47
- 0
-
SpringBoot与分布式
SpringBoot 、 Dubbo 、 zookeeper 整合 1、准备两个项目,一个服务提供者,一个消费者 2、将服务提供者注册到注册中心 (1) 引入dubbo 的 starter (2) 引入zookeeper 的客户端工具 (3) 在application.yml 中配置 dubbo 相关属性 (4) 在要发布的类上标注上dubbo 的 @Service 注解并将类加入到容器 …- 7
- 0
-
Springboot整合ehcache缓存
EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单。 Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易。 在你的项目上配置以下几步即可使用 首先,老规矩,pom.xml加依赖; 1<…- 6
- 0
-
Spring Boot+Spring Security+JWT 实现 RESTful Api 权限控制
摘要: 用spring-boot开发RESTful API非常的方便,在生产环境中,对发布的API增加授权保护是非常必要的。现在我们来看如何利用JWT技术为API增加授权保护,保证只有获得授权的用户才能够访问API。 一:开发一个简单的API 在IDEA开发工具中新建一个maven工程,添加对应的依赖如下: 1<dependency> 2 <groupId>org.sp…- 17
- 0
-
SpringBoot集成JWT实现token验证
JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).**定义了一种简洁的,自包含的方法用于通信双方之间以JSON对象的形式安全的传递信息。**因为数字签名的存在,…- 25
- 0
-
Spring Boot使用redis做数据缓存
1 添加redis支持 在pom.xml中添加 Xml代码 < dependency < groupId org.springframework.boot </ groupId < artifactId spring-boot-starter-redis </ artifactId <…- 14
- 0
-
什么是SpringBoot?
感谢 秦疆老师(狂神说java) 什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程; 2、通过IOC,依…- 17
- 0
-
Springboot 集成redis
Springboot 集成redis 本地安装redis redis 在springboot中的基本配置 application.yaml中基本配置: redisConfig bean配置 RedisConnectionFactory Bean 使用redis做缓存 注解方式使用redis做缓存 cacheManager Bean * Controller * 返回对象需要序列化 * 更新操作需要…- 30
- 0
-
php 实现Redis分布式锁
简介 多线程多进程情况下访问一些共享资源需要加锁,否则就会导致数据错乱的问题 分布式锁可以通过DB,Redis,Zk等方式实现,本节主要介绍php使用Redis实现分布式锁 基于set命令 setnx key value 设置一个值,当key已经存在时,返回flase,代表失败 使用setnx实现分布锁有个缺陷,setnx操作无法设置key的ttl,需要配合exprie key ttl 一起使用 …- 34
- 0
-
JVM性能优化 Part V:Java的伸缩性
JVM性能优化 Part V:Java的伸缩性 很多程序员在解决 JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题。我说过 JVM的自身技术限制了 Java企业级应用的伸缩性。首先我们先列举一些主导因素。 主流的硬件服务器提供了大量的内存 分布式系统有大量内存的需求,而…- 9
- 0
-
Netty游戏服务器实战开发(11):Spring+mybatis 手写分库分表策略(续)
在大型网络游戏中,传统的游戏服务器无法满足性能上的需求。所以有了分布式和微服务新起,在传统web服务器中,我们保存用户等信息基本都是利用一张单表搞定,但是在游戏服务器中,由于要求比较高,我们不能存在大表操作,即分库分表策略。在以前的文章中有关介绍分库分表的,下面我们来实战一下,首先我们做一个这样的计算。 在博主开源的游戏服务器中有这样一个场景:玩家数据保存到player表中,其中将游戏数据库分为1…- 26
- 0
-
详解JVM内存管理与垃圾回收机制5 – Java中的4种引用类型
在Java语言中,除了基础数据类型的变量以外,其他的都是引用类型,指向各种不同的对象。在前文我们也已经知道,Java中的引用可以是认为对指针的封装,这个指针中存储的值代表的是另外一块内存的起始地址(对象所在内存的首地址)。在这种定义下,一个对象只有被引用和没有被引用两种状态,当对象没有被引用的时候,即被JVM回收,但这种设计并不能满足所有的应用场景,比如,缓存:在内存还足够时,希望这些对象一直保持…- 48
- 0
-
JVM性能优化 Part IV:垃圾回收
JVM性能优化 Part IV:垃圾回收 到目前为止,本系列的文章将stop-the-world式的垃圾回收视为影响Java应用程序伸缩性的一大障碍,而伸缩性又是现代企业级Java 应用程序开发的基础要求,因此这一问题亟待改善。幸运的是,针对此问题,JVM中已经出现了一些新特性,所使用的方式或是对stop-the-world 式的垃圾回收做微调,或是消除冗长的暂停(这样更好些)…- 3
- 0
-
Netty游戏服务器实战开发(10):Netty结合kafka实现分布式消息队列
在分布式游戏服务器系统中,消息处理队列主要解决问题就是解耦系统中的业务,使得每个系统看起来功能比较单一,而且解决一些全服数据共享等问题。 通常我们知道kafka是作为消息队列比较火的一种方式,其实还有(Active MQ,Rabbit MQ,Zero MQ)个人觉得kafka比较好用点,哈哈,习惯吧。 同样我们来复习kafka基础。 kafka基础。 的内容来介绍kafka的基本安装。 首先我们要…- 303
- 0
-
IntelliJ IDEA快速自动生成Junit测试类
前言 之前在写业务逻辑的时候,都很少有写单元测试。因公司项目用的分布式架构,将整个系统抽成了很多微服务。测试一个接口,需要启动好几个服务,才能进行测试。并且有时候,我们只是改了一点代码,并不需要全部启动,太耗时,这个时候,就可以编写单元测试,简单的测试一下我们的代码。 单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。 自动生成 两种快捷键: 1.在…- 3
- 0
-
JVM性能优化 Part I:JVM简介
JVM性能优化 Part I:JVM简介 众所周知,Java应用程序是运行在JVM上的,但是你对JVM有所了解么?作为这个系列文章的第一篇,本文将对经典Java虚拟机的运行机制做简单介绍,内容包括“一次编写,到处运行”的利弊、垃圾回收的基本原理、常用垃圾回收算法的示例和编译器优化等。后续的系列文章将会JVM性能优化的内容进 行介绍,包括新一代JVM的设计思路,以及如何支持当今…- 9
- 0
-
Netty游戏服务器实战开发(9):利用redis或者zookeeper实现3pc分布式事务锁(三)。支撑腾讯系列某手游百万级流量公测
导读:在编写前面两篇文章的时候,博主其实已经把这个项目做完了,因为不可能一边写文章,一遍写项目。所以我都是把项目做完之后然后通过自己测试之后确保没有问题就来编写文章。 最近估计大家都听说了“华夏银行技术处长编写病毒植入系统,盗窃 700 余万受审”按键沸沸扬扬。很多人就想知道,如此可爱的程序员宝宝如何走向犯罪的道路,所以不管出于人性和社会道德,技术人员还是不要轻易的在系统中留下后门程序。否者被查出…- 9
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!