-
12. Dubbo原理解析-注册中心之基于dubbo协议的简单注册中心实现
基于dubbo协议开源只是给出了默认一个注册中心实现SimpleRegistryService, 它只是一个简单实现,不支持集群,就是利用Map<String/*ip:port*/, Map<String/*service*/, URL>来存储服务地址, 具体不在啰嗦了,请读者翻看源代码,可作为自定义注册中的参考。 注册中心启动 SimpleRegistryService本身也是…- 5
- 0
-
6. Dubbo原理解析-代理之Javassist生成的伪代码
下面我们以伪代码来展示下生成的代理类 比如我们要对如下接口生成代理 public interface DemoService { String sayHello(String name); String sayHelloAgain(Stringname); } 生成的代理对象 public class DemoService.proxy10001implements DemoS…- 9
- 0
-
JFinal 中使用 Dubbo —— 1 改造JFinal Demo
很多人认为,既然有了JFinal,为什么还要Spring。殊不知一些基于Spring的很牛X的东东集成到JFinal中能够事半功倍。比如Dubbo这个高性能优秀的服务框架,它基于Spring,于是JFinal提供的Spring插件就能更方便地将Dubbo集成进咱们的程序中,成为高大上的程序。 1. Dubbo Demo概述 此Demo实际在2014年上半年就已经完成了,只是到最近才有时间和心…- 32
- 0
-
多节点,多线程下发订单,使用zookeeper分布式锁机制保证订单正确接入oms系统
假设订单下发, 采用单机每分钟从订单OrderEntry接口表中抓100单, 接入订单oms系统中. 由于双十一期间, 订单量激增, 导致订单单机每分钟100单造成, 订单积压. 所以采用多节点多线程处理三方商家的订单接入系统. 流程图: 如图所示: 采用多节点, 多线程, 使用curator操作zk的方式实现, 订单的下发. 以前的方式每分钟下发100单, 之后采用现在的方式可以每分钟2000…- 6
- 0
-
Lua在Redis中的应用—分布式锁,限制访问次数
Lua在Redis中的应用—分布式锁,限制访问次数 Lua是一个高效的轻量级脚本语言。它是开源的,非常小巧,整个源码也才五百来K,可以很方便地嵌入到程序中(无论是桌面端还是移动端) 1.分布式锁 分布式锁可以用多种方式来实现常用为以下方式: 1、基于数据库表做乐观锁,用于分布式锁。 2、memcached 3、redis 4、zookeeper 我们本次只说一下redis(r2m)的实现方式,并由…- 4
- 0
-
ETCD分布式锁实现选主机制(Golang实现)
ETCD分布式锁实现选主机制(Golang) 为什么要写这篇文章 做架构的时候,涉及到系统的一个功能,有一个服务必须在指定的节点执行,并且需要有个节点来做任务分发,想了半天,那就搞个主节点做这事呗,所以就有了这篇文章的诞生,我把踩的坑和收获记录下来,方便未来查看和各位兄弟们参考。 选主机制是什么 举个例子,分布式系统内,好几台机器,总得分个三六九等,发号施令的时候总得有个带头大哥站出来,告诉其他小…- 44
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day08 页面静态化
文章目录 静态化优化方案设计 为什么要使用页面静态化 静态化好处 分析 静态页面生成时机 * 单体项目方案分析 * 集群项目架构分析 实现准备 数据库 * 生成代码 * 技术准备 * Fastdfs * Velocity 准备模板 1 * 准备前端页面 2 页面静态化的整体流程 后端代码 前端准备 静态化优化方案设计 为什么要使用页面静态化 课程主页的访问人数非常多, 以不发请求静态页面代替要发请…- 12
- 0
-
SpringBoot微服务 +tomcat集群+Ngnix负载均衡+Mysql主从复制,读写分离(1)
**一:SpringBoot微服务部署 ** 1.有两个maven的SpringBoot项目,一个是是base项目(放一些公共的代码与公共maven配置文件),一个是test(业务逻辑代码),也就是test依赖base项目,如下图: 2.在base项目的pom.xml配置文件中配置scope标签使得SpringBoot内嵌的tomcat向下没有传递性,如下图: …- 22
- 0
-
SpringBoot微服务 +tomcat集群+Ngnix负载均衡+Mysql主从复制,读写分离(4)
四:mysql主从复制,读写分离 1.首先把mysql源码包文件拷到两台linux服务器上,然后在两台服务器上安装Mysql数据库 1安装 MySQL 2 1 安装 ncurses 3 Ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标,建立 4 窗口,改变前景背景颜色以及处理鼠标操作的函数。使用户在字符终端下编写应 5 用程序时绕过了那些恼人的底层机制。简而言之,他是一个可…- 15
- 0
-
微服务分布式事务实战(二)redis的安装与启动
Redis 的安装和启动 (1)下载redis 解压缩 (2) 启动和测试redis 1进入redis 目录 2双击redis-server.exe 程序即可启动 3 启动客户端测试 启动:双击redis-cli.exe 测试:输入命令 本篇博客视频地址: https://v.youku.com/v_show/id_XMzg5OTg1Njc3Mg==.html?spm=a2hzp.8244740.…- 10
- 0
-
ASP.NET Core微服务之开源事件总线CAP的初步使用
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、CAP简介 *下面的文字来自CAP的Wiki文档:*https://github.com/dotnetcore/CAP/wiki CAP 是一个在分布式系统中(SOA,MicroService)实现事件总线及最终一致性(分布式事务)的一个开源的 C# 库,她具有轻量级,高性能,易使用等特点。我们可以轻松的在基于 .NET Core …- 5
- 0
-
Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
已经有非常长的时间没有更新《Spring Cloud构建微服务架构》系列文章了,自从开始写Spring Cloud的专题内容开始就获得了不少的阅读量和认可,当然也有一些批评,其中也不乏一些很中肯的意见和深度的问题,对我来说也是进一步提高的契机,在此感谢所有关注我博客的读者们。 由于之前主要精力都花在的编写《Spring Cloud微服务实战》一书上,所以该系列文章就没有得到持续的维护和更新。由于漫…- 0
- 0
-
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
通过之前的N篇博文介绍,实际上我们已经能够通过使用它们搭建起一个基础的微服务架构系统来实现我们的业务需求了。但是,随着业务的发展,我们的系统规模也会变得越来越大,各微服务间的调用关系也变得越来越错综复杂。通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖…- 3
- 0
-
Openstack+Kubernetes+Docker微服务实践之路–弹性扩容
服务上线就要顶的住压力、扛的住考验,不然挨说的还是我们这帮做事的兄弟,还记得上图这个场景吗 老办法是服务集群部署,但总归有个上限,之前跟阿里合作的时候他们有个弹性计算可以通过设置CPU的阀值来动态扩展和收缩计算能力,那时感觉很有逼格,至少在当时我们常规的做法很难做到,没想到时至今日有了Kubernetes我们能也扬眉吐气了,看我来给大家实实在在的秀一把。 Kubernetes的自动扩容针对的是Re…- 16
- 0
-
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)—->第1节: FastThreadLocal的使用和创建
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 概述: FastThreadLocal我们在剖析堆外内存分配的时候简单介绍过, 它类似于JDK的ThreadLocal, 也是用于在多线程条件下, 保证统一线程的对象共享, 只是netty中定义的FastThreadLocal, 性能要高于jdk的ThreadLocal, 具体原因…- 2
- 0
-
Netty源码分析第3章(客户端接入流程)—->第5节: 监听读事件
Netty源码分析第三章: 客户端接入流程 第五节: 监听读事件 我们回到AbstractUnsafe的register0()方法: 1private void register0(ChannelPromise promise) { 2 try { 3 //省略代码 4 //做实际的注册 5 doRegister(); 6 neverRegistered = false; 7 regi…- 6
- 0
-
Netty In Action中文版 – 第十四章:实现自定义的编码解码器
http://blog.csdn.net/abc_key/article/details/38388031 本章讲述Netty中如何轻松实现定制的编解码器,由于Netty架构的灵活性,这些编解码器易于重用和测试。为了更容易实现,使用Memcached作为协议例子是因为它更方便我们实现。 Memcached是免费开源、高性能、分布式的内存对象缓存系统,其目的是加速动态…- 9
- 0
-
Netty In Action中文版 – 第九章:引导Netty应用程序
Netty In Action中文版 - 第九章:引导Netty应用程序 本章介绍 引导客户端和服务器 从Channel引导客户端 添加多个ChannelHandler 使用通道选项和属性 上一章学习了编写自己的ChannelHandler和编解码器并将它们添加到Channel的ChannelPipeline中。本章将讲解如何将它们结合在一起使用。 Netty提供了简单统一的方法来引导服务器和客户…- 7
- 0
-
MINA、Netty、Twisted一起学(十一):SSL/TLS
什么是SSL/TLS 不使用SSL/TLS的网络通信,一般都是明文传输,网络传输内容在传输过程中很容易被窃听甚至篡改,非常不安全。SSL/TLS协议就是为了解决这些安全问题而设计的。SSL/TLS协议位于TCP/IP协议之上,各个应用层协议之下,使网络传输的内容通过加密算法加密,并且只有服务器和客户端可以加密解密,中间人即使抓到数据包也无法解密获取传输的内容,从而避免安全问题。例如广泛使用的HTT…- 6
- 0
-
Java NIO框架Netty教程(十三) 并发访问测试(下)
在上节(《Java NIO框架Netty教程(十二) 并发访问测试(中) 》),我们从各个角度对Netty并发的场景进行了测试。这节,我们将重点关注上节最后提到的问题。在多线程并发访问的情况下,会出现 警告: EXCEPTION, please implement one.coder.netty.chapter.eight.ObjectClientHandler.exceptionCaught…- 18
- 0
-
Netty系列之Netty线程模型
1. 背景 1.1. Java线程模型的演进 1.1.1. 单线程 时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。 在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。 1.1.2. 多线程 随着硬件性能的提升,CPU的核数越来越越多,很多服务器标配已经达到32…- 0
- 0
-
ASP.NET Core微服务之基于Steeltoe使用Hystrix熔断保护与监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 => Steeltoe目录快速导航: 基于Steeltoe使用Spring Cloud Eureka 基于Steeltoe使用Spring Cloud Zuul 基于Steeltoe使用Spring Cloud Hystrix 一、关于Spring Cloud Hystrix 在微服务架构中,我们将系统拆分为很多个服务,各个服务…- 0
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!













