摘要: 引 如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法 阅读全文
posted @ 2018-12-20 17:24 java架构开发 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 人人都会犯错,但一些错误是如此的荒谬,我想不通怎么会有人犯这种错误。更没想到的是,这种事竟发生在了我们身上。当然,这种东西只有事后才能发现真相。接下来,我将讲述一系列最近在我们一个应用上犯过的这种错误。最有意思的是,一开始的迹象揭示的问题,与实际发生的问题完全不同。 在一个凄凉的午夜 午夜刚过,我就 阅读全文
posted @ 2018-12-19 15:54 java架构开发 阅读(1554) 评论(0) 推荐(0) 编辑
摘要: 1、准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他 阅读全文
posted @ 2018-12-18 16:18 java架构开发 阅读(3263) 评论(0) 推荐(0) 编辑
摘要: 微服务架构应该是什么样子 在这之前先看一看一个微服务架构落地以后应该是什么样子的。平常所有的微服务架构更多的是从框架来讲的像Dubbo,SpringCloud等,从整个SpringCloud的生态来讲它也只包含微服务的一部分。因为微服务的拆分不可避免的造成了系统的复杂性,团队间的合作管理和持续的交付 阅读全文
posted @ 2018-12-17 17:27 java架构开发 阅读(1165) 评论(0) 推荐(0) 编辑
摘要: 你看到这篇文件可能是因为你已经调用了一个抛出 InterruptedException 异常的方法,并且需要以某种方式处理它。 首先,需要了解为一个方法为啥会 throws InterruptedException, 是这个方法抛出中断异常作为方法签名的一部分以及调用正在调用的方法的可能结果。因此, 阅读全文
posted @ 2018-12-10 15:30 java架构开发 阅读(18844) 评论(3) 推荐(1) 编辑
摘要: 导言: SpringCloud和Dubbo都是现在比较成熟的微服务框架,如何使用两者构建搭建你的微服务系统呢?他们是如何将你的系统解耦的?又是怎么解耦的呢?请听我慢慢道来: 第一步,解耦现有模块 将现有耦合在一起的模块进行重新的设计,设计成可以独立部署的多个模块,使用微服务框架很容易做到,成熟的示例 阅读全文
posted @ 2018-12-04 21:25 java架构开发 阅读(3469) 评论(1) 推荐(0) 编辑
摘要: 自己整理了 spring boot 结合 Redis 的工具类引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></ 阅读全文
posted @ 2018-11-26 17:48 java架构开发 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 什么是Nginx? Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 阅读全文
posted @ 2018-11-15 15:45 java架构开发 阅读(708) 评论(0) 推荐(0) 编辑
摘要: 背景 rename是redis中给key重命名命令,rename key newkey的意思就是将key重命名为newkey。大部分文档在介绍rename的时候只将它描述成一个时间复杂度为O(1)的命令,却忘了说明它可能导致的性能问题(涉及覆盖旧值的时候 时间复杂度应该是O(1)+O(M))。 我们 阅读全文
posted @ 2018-11-14 21:02 java架构开发 阅读(2673) 评论(0) 推荐(0) 编辑
摘要: 如果你看到了注解,那么一定有什么代码在什么地方处理了它. Alan Hohn 我教Java课程时强调的一点是注解是惰性的。换句话说,它们只是标记,可能具有某些属性,但没有自己的行为。因此,每当你在一段Java代码上看到一个注解时,就意味着必须有一些其他的Java代码来寻找那个注解并包含真正的智能来做 阅读全文
posted @ 2018-11-13 19:40 java架构开发 阅读(2886) 评论(0) 推荐(0) 编辑