
Java微服务架构
文章平均质量分 94
ClearloveMe
2018感动中国十大人物,联合国青少年特殊贡献奖获得者
展开
-
【Java微服务架构 Dubbo篇】-2-Dubbo
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过RPC相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的“雪崩”效应。为了解决这个问题,业界提出了熔断器模型。转载 2023-04-14 16:49:39 · 340 阅读 · 0 评论 -
【Java 微服务架构 Dubbo篇】-1-Zookeeper
为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。而这个分布式协调技术的核心就是来实现这个分布式锁。ZooKeeper是一种分布式协调服务, 用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper 允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。以下为Zookeeper的基本概念。转载 2023-04-12 23:24:44 · 472 阅读 · 0 评论 -
第五章 微服务框架-Spring Boot、Spring Cloud
随着动态语言的流行(Ruby、Groovy、 Scala、 Node.js) ,Java的开发显得格外的笨重繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置 ,让你无需手动进行配置)的理念让你的项目快速的运行起来。转载 2023-04-10 22:37:19 · 667 阅读 · 0 评论 -
第四章:再谈微服务
围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。一系列的独立的服务共同组成系统单独部署,跑在自己的进程中每个服务为独立的业务开发分布式管理非常强调隔离性。转载 2023-04-02 22:48:46 · 272 阅读 · 0 评论 -
第三章 平台即服务(PaaS)-GitLab-Nexus-Registry
GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wal)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。Nexus是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。转载 2023-04-01 21:41:07 · 274 阅读 · 0 评论 -
第2章 基础设施即服务(IaaS)-3-Docker Compose
是Docker官方编排(Orchestration)项目之一,负责快速的部署分布式应用。Compose项目是Docker官方的开源项目, 负责实现对Docker容器集群的快速编排。从功能上看,跟OpenStack中的Heat十分类似。其代码目前在https:上开源。Compose定位是「定 义和运行多个Docker容器的应用( Defining and running multi-container Docker applications)」, 其前身是开源项目Fig。转载 2023-03-27 17:39:07 · 225 阅读 · 0 评论 -
第2章 基础设施即服务(IaaS)-2-Docker
Docker最初是dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以Apache 2.0授权协议开源,主要项目代码在GitHub上进行维护。Docker 项目后来还加入了Linux基金会,并成立推动开放容器联盟( OCI )。Docker自开源后受到广泛的关注和讨论,至今其GitHub项目已经超过4万6千个星标和一万多个fork。转载 2023-03-27 17:38:21 · 385 阅读 · 0 评论 -
第2章 基础设施即服务(IaaS)-1-Linux
Linux是一种自由和开放源码的类UNIX操作系统,使用Linux内核。目前存在着许多不同的Linux发行版,可安装在各种各样的电脑硬件设备,从手机、平板电脑、路由器和影音游戏控制台,到桌上型电脑,大型电脑和超级电脑。Linux 是一个领先的操作系统,世界上运算最快的10台超级电脑运行的都是Linux操作系统。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。只要遵循GNU通用公共许可证任何人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。转载 2023-03-21 22:55:23 · 377 阅读 · 0 评论 -
第一章:微服务简介
事实上,有些开发者主张构建极细粒度的10至100LOC (代码行)服务,虽然这对于小型服务可能比较好,但重要的是要记住,小型服务只是一种手段,而不是主要目标。eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性( Strong Consistency,CAP的一致性就是强一致性), 但应用可以采用适合的方式达到最终一致性 ( Eventual Consitency )。原创 2023-03-18 17:51:36 · 238 阅读 · 0 评论