- 博客(19)
- 收藏
- 关注
原创 Java开发微服务入门:微服务认知 核心原理
介绍微服务,当今业界最热门的话题之一,bulingbuling的,每个人,每个公司都想做,但有多少是真正从公司的人和组织结构角度去思考微服务会带来的变革。这篇文章中,我们会从核心的原理,到准备实际操作的这个流程来讨论微服务架构。但是,这是一个每天都发生着大量创新的领域,所以,在这篇文章中将要讨论的所有内容,都是现在发生的实践,这些实践,是否在未来还有用,我们需要谨慎的去看待。无论好坏,业界...
2020-05-06 16:53:27
282
原创 微服务的4个设计原则和19个解决方案 微服务架构演进过程
微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个“微服务应用平台”需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架构。微服务平台也是我目前正在参与的,还在研发过程中的平台产品,平台是以SpringCloud为基础...
2020-05-06 16:52:47
463
原创 揭秘Java架构技术体系 单体架构 多机部署
前言以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中ECS就是云服务器,MQS是队列服务,OCS是缓存等等,右侧是一些支撑体系服务。除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定...
2020-05-06 16:52:13
600
原创 Spring Cloud Alibaba 新一代微服务解决方案 阿里巴巴开源中间件
1、Spring Cloud Alibaba 是什么Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案,是阿里巴巴开源中间件与 Spring Cloud 体系的融合。马老师左手双十一,右手阿里开源组件,不仅占据了程序员的购物车,还要攻占大家的开发工具。先说说 Spring Cloud提起微服务,不得不提 Spring Cloud 全家桶系列,SpringCl...
2020-05-06 16:51:40
288
原创 JAVA各种系统架构图及其简介
1.spring架构图Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以在不同J2EE...
2020-05-06 16:51:06
533
原创 Docker安装配置教程入门到精通
之前docker很久就写了笔记了。后面因为家里有事,耽搁了一年。 现在把这部分笔记重新上传一下。大家看看。Docker要求:lunix内核,要求3.8以上centos7Docker是一个进程,一启动就两个进程,一个服务,一个守护进程。占用资源就非常少,启动速度非常快,1s。一台机器上vm,3到10个实例。docker 100到10000。1.核心概念:1)镜像images,事先做好一...
2020-05-06 16:50:21
1043
原创 docker教程(7)-- k8s(Kubernetes) 基本架构原理
什么是k8sk8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。k8s 的基本架构在这张系统架构图中,我们把服务分为运行在工作节点上的服务和组成集群级别控制板的服务。Kubernet...
2020-05-06 16:49:49
229
原创 Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用
K8s基础原理k8s中文社区:https://www.kubernetes.org.cn/简介Kubernetes与较早的集群管理系统Mesos和YARN相比,对容器尤其是 Docker的支持更加原生,同时提供了更强大的机制实现资源调度,自动 管理容器生命周期,负载均衡,高可用等底层功能,使开发者可以专注于开发应用。Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用...
2020-05-06 16:49:15
300
原创 Java性能优化的50个细节(珍藏版)性能调优
在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控...
2020-05-06 16:48:41
155
原创 Java中性能优化的35种方法汇总
很多同学在日常写Java的时候很少去关心性能问题,但是在我们写代码的过程中必须考虑到性能对程序的影响。小到我们使用位运算来实现算术运算,大到我们对 Java 代码的总体架构设计,性能其实离我们很近。本文介绍了Java中性能优化的35种方法,需要的朋友可以参考下。前言对程序员们来说,代码优化是一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响...
2020-05-06 16:48:02
251
原创 分布式系统项目,服务器集群,Java分布式系统高并发解决方案
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系 所谓同步,可以理解为在执行完一个函数或方法之后,一直等...
2020-05-05 17:06:39
236
原创 JAVA 分布式 - 分布式介绍,什么是分布式系统?
什么是分布式系统?要理解分布式系统,主要需要明白一下2个方面:1.分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。2.这些连通的节点上部署了我们的节点,并且相互的操作会有协同。分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已,而实际上这些服务是通过背后的众多服务器组成的一个分布式系统,因此分布式系统看起...
2020-05-05 17:05:01
197
原创 什么是Java分布式?一篇文章让你彻底搞懂分布式系统
对于初学者来说,学习Java的根本动力就是分布式开发,特别是apache下面的hadoop、hdfs、hbase,这些基本是分布式开发的标配。那么这篇文章就来和大家一起聊聊分布式吧!一、什么是分布式系统?要理解分布式系统,主要需要明白一下2个方面:1、分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。2、这些连通的节点上...
2020-05-05 17:03:03
1684
原创 java为我们已经提供了各种锁,为什么还需要分布式锁?为什么需要分布式锁
目前的项目单体结构的基本上已经没有了,大多是分布式集群或者是微服务这些。既然是多台服务器。就免不了资源的共享问题。既然是资源共享就免不了并发的问题。针对这些问题,redis也给出了一个很好的解决方案,那就是分布式锁。这篇文章主要是针对为什么需要使用分布式锁这个话题来展开讨论的。不喜勿喷。前一段时间在群里有个兄弟问,既然分布式锁能解决大部分生产问题,那么java为我们提供的那些锁有什么用呢?直接...
2020-05-05 17:00:03
231
原创 Java编程良心推荐——分布式架构原理解析 应用架构演进
应用架构演进这里的架构演进应该是从服务化的角度来说,应该说随着业务发展,应用规模扩大,系统的一些公共服务就会抽取出来,独立开发,部署,维护,用来解决并发,扩展,维护的问题。传统垂直架构有的地方也叫单体应用,以mvc模式开发:所有应用代码统一打包,代码所有接口本地api调用,很少存在远程服务调用;单机或主备,应用做集群部署;DB主从等。这种并没有什么不好,发展初期大多是这...
2020-05-05 16:57:55
227
原创 互联网下的Java微服务下的分布式事务介绍及其解决方案
1.前言1.由于最近在学习springcloud的项目,现在互联网下,分布式,微服务横行,难免会遇到分布式下的事务问题,这是一个难点,也是面试经常问的,别面试官一看你简历,都是微服务项目,问你了解啥是分布式事务不,你来句没有,这就很尴尬了,当然微服务下可能没有分布式事务,但是很多场景是需要分布式事务的,下面我就来介绍下什么是分布式事务,和分布式事务的解决方案2 问题描述在介绍分布式事务下,...
2020-05-05 16:56:35
122
原创 Java高并发解决方案 高并发解决思路与手段
知识点线程安全,线程封闭,线程调度,同步容器,并发容器,AQS,J.U.C,等等高并发解决思路与手段扩容:水平扩容、垂直扩容缓存:Redis、Memcache、GuavaCache等队列:Kafka、RabitMQ、RocketMQ等应用拆分:服务化Dubbo与微服务Spring Cloud限流:Guava RateLimiter使用、常用限流算法、自己实现分布式限流等...
2020-05-05 16:53:28
871
原创 Java多线程与高并发:高并发解决思路
缓存并发image.png当大量请求访问同一个没有被缓存的数据的时候,会发送大量请求给数据库,导致数据库压力过大,还会导致一致性问题,所以解决方式就是在缓存获取的时候加上针对单个数据的锁,直到缓存被重建成功得到最新数据缓存击穿/穿透image.png查询一个数据库中不存在的数据,比如商品详情,查询一个不存在的ID,每次都会访问DB,如果有...
2020-05-05 16:52:10
273
原创 Java 高并发解决方案(电商的秒杀和抢购)大规模并发带来的挑战
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?一、大规模并发带来的挑战在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整...
2020-05-05 16:47:37
618
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人