架构设计
文章平均质量分 92
专注架构领域设计
一叶飞舟
资深IT人士,长年担任项目管理、架构研发、技术经理工作。主要耕耘于金融科技、数据治理领域,拥有信息系统项目管理师(高级)资格和PMP认证。(个人公众号:三度经纬)
展开
-
一文读懂SpringMVC的工作原理
博主通过一文对SpringMVC架构尝试解读,按运行时序解剖SpringMVC的每个关键步骤是“做什么的”和“如何做的”。相信你能够从中get到它的核心运行逻辑,并基于此搭建可靠的开发框架。原创 2024-09-09 13:10:54 · 1161 阅读 · 27 评论 -
基于springboot+enum配置化实践
文件的大致内容是对当前service的定义和运行的描述,形如:该文件指定了当前service 的端口号和名称,当然还可以添加更多你认为重要的参数。接下来,博主带这各位看看如何使用springboot+enum实现配置参数的获取和使用。首先定义一些参数,比如我们可以在api:key: 123再来定义一个枚举类MyEnum// 定义一个枚举,默认提供实际值,下一步通过配置参数替换;//定义构造器return url;这里博主内置了一个token api。原创 2024-09-03 15:04:50 · 1506 阅读 · 30 评论 -
微服务实战系列之玩转Docker(一)
话说计算机的“小型化”发展,历经了大型机、中型机直至微型机,贯穿了整个20世纪的下半叶。同样,伴随着计算机的各个发展阶段,如何做到“资源共享、资源节约”,也一直是一代又一代计算机人的不懈追求和历史使命。“信息爆炸”的繁荣景象。其中,资源的虚拟化之路,妥妥是一个百折不挠、值得大书特书的伟大篇章。正因如此,云计算终于可以站在信息时代发展之巅,顺应历史发展潮流,成为与大数据、人工智能、工业互联网、物联网、车联网等并驾齐驱的信息化名片之一。那么,博主撇开“云计算”,暂时不表。今天咱们来聊聊Docker。原创 2024-07-15 20:54:26 · 1564 阅读 · 2 评论 -
微服务实战系列之云原生
话说博主的微服务实战系列从去年走到今天,已过去了半年多了。本系列,博主主要围绕微服务实践过程中的主要组件或工具展开介绍。其中基本覆盖了我们项目或产品研发过程中,经常使用的中间件或第三方工具。至此,该系列也该朝着新的方向继续前进了。什么方向呢?——云原生。且看上图,这是一张云原生全景。咋眼一看,云原生,好像是基于云计算背景下的应运而生的“新宠儿”。对,你没看错,就是这么幸运!“有些人可能是焊工、电工、泥瓦工,有些人可能是木工、漆工、雕刻工,而有些人可能是建筑设计师、家具设计师。原创 2024-06-29 08:41:05 · 1588 阅读 · 8 评论 -
微服务实战系列之Filter
Filter,又名过滤器,当然不是我们日常中见到的,诸如此类构件:而应该是微服务中常使用的,诸如此类(图片来自官网,点击可查看原图):一般用于字符编码转换,日志处理等场景。而我们今天提到的Filter是基于而言的。Filter是完成业务逻辑前或后应有操作的必要环节,也是实现统一服务的典型武器,所以我们应该了解它、学习它、掌握它。好了,今日话题到此为止,下一篇是啥,继续期待!原创 2024-01-07 09:57:03 · 1359 阅读 · 3 评论 -
微服务实战系列之API加密
随着一阵针凛冽寒风的呼啸,新的年轮不知不觉迎面而来。故事随着2023的远去,尘封于案底;希望迎着新年,扬眉于枝头。在2024新岁启航,杨帆破浪之时,让烦恼抛洒于九霄,让生机蓬勃于朝朝暮暮。2024,博主祝福各位盆友,书写新的人生,获得新的希望!新年开篇第一博,希望带给各位盆友新的收获。“踏破铁鞋无觅处,博主文章可驻足”,此刻的我,不禁沾沾自喜…废话少叙,言归正传。今日,我们开始新的旅程,微服务实战系列继续乘势而上,博主该谈谈API安全的“那些事儿”了。注解名称注解简介Encrypt用于请求体的。原创 2024-01-06 17:30:09 · 1683 阅读 · 2 评论 -
微服务实战系列之Dubbo(下)
眼看着2023即将走远,心里想着似乎还有啥,需要再跟各位盆友叨叨。这不说曹操,曹操就来了。趁着上一篇Dubbo博文的余温尚在,博主兴匆匆地“赶制”了Dubbo的下集,以飨读者。上一篇博主依然从Dubbo的内核出发,阐明了它是如何running的。而今天博主继续带着各位盆友,了解如何使用它。鉴于当前组合的流行,本博是基于Spring完成相关介绍。;;Dubbo为开发者提供从项目创建、开发测试,到部署、可视化监测、流量治理,再到生态集成的全套服务。原创 2023-12-30 18:57:06 · 1453 阅读 · 0 评论 -
微服务实战系列之Dubbo(上)
随着一年一度冬至的到来,2023的步伐也将远去。而博主的系列文章,也将从今天起,越来越聚焦如何构建微服务“内核”上。前序系列文章几乎囊括了微服务的方方面面,无论使用什么框架、组件或工具,皆可拿来用之。那么,今天博主将推出微服务开发框架系列文章,欢迎各位盆友继续跟着博主的步伐,快乐徜徉于微服务的世界。Let’s Go!Dubbo,一个盛行于互联网平台的宠儿。作为支持分布式开发的高性能JAVA框架,Dubbo显然具备很高的使用价值。原创 2023-12-23 19:39:18 · 1394 阅读 · 0 评论 -
微服务实战系列之ZooKeeper(实践篇)
关于ZooKeeper,博主已完整的通过庖丁解牛式的“解法”,完成了概述。我想掌握了这些基础原理和概念后,工作的问题自然迎刃而解,甚至offer也可能手到擒来,真实一举两得,美极了。为了更有直观的体验,强化概念,博主特别献上一篇实践文章。理论联系实践,才能学到真本领。通过一文搭建ZooKeeper集群,可以更好的理解它、掌握它。接下来可以基于集群进行相关操作了。比如创建Znode,比如模拟宕机选举、又比如模拟数据同步等场景。好了,关于ZooKeeper的总结和介绍到此为此,希望各位盆友有所收获!原创 2023-12-18 15:00:51 · 1613 阅读 · 0 评论 -
微服务实战系列之ZooKeeper(下)
通过前序两篇关于ZooKeeper的介绍和总结,我们可以大致理解了它是什么,它有哪些重要组成部分。分布式锁。首先了解一下,什么是锁。在我们日常开发中,可能会经常使用多线程并发,以提高系统性能,加速代码的处理效率。那么问题也就来了?当在有限的资源、网络环境下,如果一味追求并发,势必拖垮整个系统,甚至宕机。所以,Java在推出之时,就提供了多种锁机制,以避免或降低上述问题的发生。也就是一句话总结,什么是锁:通过有序的处理手段,实现线程安全和数据准确,保障系统正常运转。原创 2023-12-17 14:22:48 · 1334 阅读 · 0 评论 -
微服务实战系列之ZooKeeper(中)
昨日博主的第一篇ZooKeeper,对它自身具备的能力做了初步介绍。书接上文,马不停蹄,我们继续挖掘它内在的美,充分把握它的核心与脉络。博主通过揭秘ZooKeeper内在的核心逻辑,剖析它是如何完成我们想象中的职责和工作的。通过以上内容,我们可以发现,无论是什么协议或算法,均服务于某个业务和技术场景。原创 2023-12-16 12:44:31 · 1643 阅读 · 2 评论 -
微服务实战系列之ZooKeeper(上)
数据方面(缓存&安全)比如Redis、MemCache、Ehcache、J2cache(两级缓存框架)、RSA加密、Sign签名…传输方面(消息系统)MQ、通信基础服务方面(支撑服务)显然,我们可以观察到,如果只有这些工具或组件,还不足以支撑一个中型微服务系统。如此,今天博主继续拉新,谈一谈ZooKeeper是怎么回事,为什么我们有时候对它望而生畏而又难以割舍呢?我们先了解一下它的前世,请各位盆友紧随博主,以防迷路。通过以上总结性叙述,博主简单介绍了ZooKeeper。原创 2023-12-15 22:41:29 · 1437 阅读 · 0 评论 -
微服务实战系列之MQ
从今天起,席卷北国的雪,持续了一整天,北京也不例外。这场意外的寒潮,把整个冬天渲染的格外cool。当然你可以在外面打雪仗、堆雪人、拉雪橇,也可以静坐屋内,来一场围炉煮茶的party。此刻,冬天带来的温暖与喜乐不言而喻。当然烦恼也充斥其中:稍不留神,容易翻跟头。雪天路滑,小心脚下。好了,我们言归正传。上一篇,博主给大家介绍了两个人如何建立通信、如何保障通信的成功以及完成通信所需的工具。当然系统本身是对物理世界的模拟实现,所以系统与系统之间、服务与服务之间,也遵循此逻辑。原创 2023-12-13 22:31:05 · 1410 阅读 · 1 评论 -
微服务实战系列之通信
掰个指头数一数,博主的“微服务实战系列”从无到有,从零走到了十五。如果比作时钟,刚好走过了一刻度。当初为什么要做这个系列,博主想了又想,私以为作为当下软件领域的几个“hot spot”之一,又乘着春天(Spring)之东风,微服务的种子已然深埋于每个程序猿/媛的心中。而在实际工作/学习中,有太多基础理论、技能必须掌握。微服务不仅仅是一个名词,更是一个动词,一个体系化的服务设计思路。我们说服务的本质是在做数据交换,所谓“以数易数”。早期人类也正是通过以物换物的方式,促成最早也最简单的的合作模型。原创 2023-12-09 14:42:57 · 1414 阅读 · 0 评论 -
微服务实战系列之J2Cache
经过近几天陆续发布Cache系列博文,博主已对业界主流的缓存工具进行了基本介绍,当然也提到了一些基本技巧。相信各位盆友看见这么多Cache工具后,在选型上一定存在某些偏爱:A同学说:不管业务千变万化,我对Redis的爱永不变。B同学说:不管集中式还是分布式,单体还是集群,我只相信Redis。C同学说:无论穿透击穿还是雪崩,只要把key定义好,任尔东西南北风。好了,看完这篇文章,希望以上同学有所启发。微服务实战系列之Cache(技巧篇)微服务实战系列之MemCache。原创 2023-12-05 17:48:07 · 2184 阅读 · 1 评论 -
微服务实战系列之Cache(技巧篇)
凡工具必带使用说明书,如不合理的使用,可能得到“意外收获”。“上无法肩负领导之重托,下难免失去伙伴之信任”,最终的结局大致是不欢而散。通过前序系列文章,博主对主流Cache工具或者系统做了基础总结,旨在通过一文了解每个工具的特点和差异。我们经常说理论联系实际,如果只知理论不实践,就和赵括一样,未解敌情轻上阵,只能兵败如山倒。为了合理使用Cache,博主决定通过一文,以实践为指导,掌握正确使用缓存之钥。微服务实战系列之MemCache微服务实战系列之EhCache微服务实战系列之Redis。原创 2023-12-04 21:59:49 · 1712 阅读 · 2 评论 -
微服务实战系列之MemCache
书接前文,马不停蹄,博主继续书写Cache的传奇和精彩。Redis主要用于数据的分布式缓存,通过设置缓存集群,实现数据的快速响应,同时也解决了缓存一致性的困扰。EhCache主要用于数据的本地缓存,因无法保障数据的安全性,通常用于单节点数据的缓存。如果需要实现分布式,可以搭载Redis实现二级缓存。MemCache,它又有哪些独一无二的绝技呢?请各位盆友紧随博主,以防“迷路”。微服务实战系列之EhCache微服务实战系列之Redis微服务实战系列之Cache微服务实战系列之Nginx(技巧篇)原创 2023-12-02 20:57:44 · 1561 阅读 · 0 评论 -
微服务实战系列之EhCache
书接前文,继续深耕。上一篇博主对Redis进行了入门级介绍,大体知道了Redis可以干什么以及怎么使用它。今日博主继续带着大家学习如何使用Ehcache,这是一款基于Java的缓存框架。微服务实战系列之Redis(cache)微服务实战系列之Cache微服务实战系列之Nginx(技巧篇)微服务实战系列之Nginx微服务实战系列之Feign微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos微服务实战系列之Gateway微服务实战系列之加密RSA微服务实战系列之签名Sign。原创 2023-11-30 15:30:28 · 1652 阅读 · 0 评论 -
微服务实战系列之Redis
云淡天高,落木萧萧,一阵西北风掠过,似寒刀。冬天渐渐变得更名副其实了。“暖冬”的说法有点言过其实了。——碎碎念微服务实战系列之Cache微服务实战系列之Nginx(技巧篇)微服务实战系列之Nginx微服务实战系列之Feign微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos微服务实战系列之Gateway微服务实战系列之加密RSA微服务实战系列之签名Sign此刻,博主的“微服务实战系列”的队伍已满10员“悍将”,但是如何征服微服务这座大山,依然尚需时日。原创 2023-11-29 21:19:04 · 1811 阅读 · 0 评论 -
微服务实战系列之Cache
欢迎来到Cache(缓存)的世界!自从世界第一台计算机诞生之日起,人们对效率的渴望逐步增强。从CPU到存储,从芯片到内存,一批又一批的先驱以一种孜孜不倦的“工匠”精神,为计算机运行效率的提升做出了不可磨灭的贡献。从而也为世界各国计算机的快速发展和普及铺平了道路,迎来了发展的春天!本期主题,博主带着大家了解Cache,进而掌握如何使用Cache。首先,按惯例,请允许微服务大家族成员前来报到。微服务实战系列之Nginx(技巧篇)微服务实战系列之Nginx微服务实战系列之Feign。原创 2023-11-28 21:50:40 · 1488 阅读 · 1 评论 -
微服务实战系列之Nginx(技巧篇)
今天北京早晨竟然飘了一些“雪花”,定睛一看,似雪非雪,像泡沫球一样,原来那叫“霰”。自然中,雨雪霜露雾,因为出场太频繁,认识门槛较低,自然不费吹灰之力,即可享受它们的“恩泽”。这个霰,就不一样了,可能容易被忽视,更可能容易被当成雪,自然不会给人们留下深刻的印象。所以,博主私自为这个霰“欲留深刻在人间,必有一技抚人心”。叙述到此,言归正传,博主继续向各位盆友分享微服务系列文章,深耕细作方的人心。微服务实战系列之Nginx微服务实战系列之Feign微服务实战系列之Sentinel。原创 2023-11-25 21:19:14 · 1442 阅读 · 0 评论 -
微服务实战系列之Nginx
Nginx?写了那么多文章,为什么今天才轮到它的表演?那是因为它实在太重要了,值得大书特书,特别对待。当我们遇到单点瓶颈,第一个idea是?Nginx;当我们需要反向代理,第一个idea是?Nginx;当我们需要静态部署,第一个idea是?Nginx;当我们需要透传服务,第一个idea是?Nginx;好了好了,不再罗列了,博主手都麻了…当我们遇到一件趁手的武器,是不是愿意找一个合适的“对手”,练一练?当我们遇到一件棘手的问题,是不是愿意找一个熟练的“队友”,试一试?原创 2023-11-24 22:15:46 · 2134 阅读 · 1 评论 -
微服务实战系列之Feign
不知不觉,“微服务实战系列”已完成了六篇,每篇都聚焦一个主题,目的是便于各位盆友能够快速、全面地接收和消化。博主从服务注册到服务监控,从服务路由到服务安全,从身份认证到加密技术均有涉猎。凡此均有关微服务设计和运行的的方方面面,不得不考虑。行文至此,博主脑门突然闪现出一个灵感:微服务架构好比一个大型“部落”,所谓见“微”知大,不禁由衷感叹一番。这里有负责行政的,有负责交通的,有负责开户的,有负责查证的,有负责安检的,有负责监管的,有负责拉闸的,有负责限…的等等。原创 2023-11-23 21:56:09 · 1569 阅读 · 0 评论 -
微服务实战系列之签名Sign
昨日恰逢“小雪”节气,今日寒风如约而至。清晨的马路上,除了洋洋洒洒的落叶,就是熙熙攘攘的上班族。眼看着,暖冬愈明显了,叶子来不及泛黄就告别了树。变化总是在不经意中发生,容不得半刻糊涂。上集博主对微服务中常用的加密算法RSA做了基本的介绍,相信各位盆友已经具备了如何使用的能力或者经验。也正因为“数据安全”已贯穿于微服务的全生命周期,所以容不得我们有片刻大意。那除了加密措施以外,还有什么法宝呢?博主带着大家继续揭秘。此刻,“微服务实战系列”微服务实战系列之Sentinel微服务实战系列之Token。原创 2023-11-23 11:55:26 · 2025 阅读 · 0 评论 -
微服务实战系列之加密RSA
回顾地球人类近百年的发展历程,第二次世界大战尤为夺目,它让多少百姓流离失所,多少民族惨遭践踏,多少国家陷于水火。中国与苏美英同舟共济,抵抗并攻克邪恶轴心,终于赢得了最终的胜利,迎回了我们该有的大国尊严。可是你知道么?二战取胜之钥除了钢铁洪流,军民团结外,还有一个关键的武器就是一本本储藏于世界各个角落的密码本。在这个时代,我们选择的人生目标已丰富多彩,秉持的人生态度也千差万别:除了吃喝玩乐,还有科技探索;除了CityWalk,还有“BookWalk”;除了走遍中国,还有走遍世界;原创 2023-11-21 22:13:11 · 1054 阅读 · 4 评论 -
微服务实战系列之Gateway
人类世界自工业革命以来,无论从金融、货币、制度,还是科技、资源、社会各个方面,都发生了翻天覆地的变化。物质极大丰富,从而也推动了科技的极速发展。当计算机问世也仅仅不到80年,而如今我们的生活处处有它的影子时,我们该如何获得解放或者更进一步呢?在“微服务实战系列”微服务实战系列之Sentinel微服务实战系列之Token微服务实战系列之Nacos当我们准备向客户提供一套微服务时,应该还需哪些组件为此保驾护航呢?今天我们继续拉新,那就是网关(Gateway)。今日话题,正式begging…原创 2023-11-19 19:11:37 · 1262 阅读 · 2 评论 -
微服务实战系列之Nacos
Nacos注册服务通常与SpringCloud配合使用,作为全家桶的一员,承担着重要的服务中继和管理责任。Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。,在实际应用服务场景中,所在的位置,请参考下面的架构图,最上面即nacos所在的位置和交互关系。原创 2023-11-18 20:03:52 · 696 阅读 · 0 评论 -
微服务实战系列之Token
什么是“Token”?它是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便返回给客户端;以后客户端只携带此Token请求数据即可。简言之,Token其实就是用户身份的另一个标识而已,取代了繁琐的用户和密码校验,同时也减轻了服务器的压力,减少频繁的数据库交互,使服务器更加健壮。那么我们在应用中如何使用token呢?且听博主分解。原创 2023-11-17 21:12:39 · 1927 阅读 · 0 评论 -
微服务实战系列之Sentinel
微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。近年来,微服务已赫然崛起于IT界,越来越多的程序员不得不向之靠拢。也正因为各行各业都愿为之倾囊,这大大推动的了微服务的扩张式野蛮式发展。博主也有幸为较多客户提供产品服务,同时接触了较多的微服务项目,在这里愿分享点滴实战经验。不长篇大论,只做锦绣文章;不泛泛而谈,只写满满干货。从此篇起,我们逐一对微服务的应用进行解剖。今天,我们一起认识一下在微服务中,担任。原创 2023-11-16 21:45:10 · 963 阅读 · 0 评论 -
一文图解爬虫(spider)
只要具备以上条件,一只爬虫即可问世,请允许它开始放肆的工作吧(手动狗头)。各位伙伴熟悉了么?原创 2023-11-11 17:49:36 · 1458 阅读 · 0 评论 -
软件设计参考
有关系统设计的参考文章,会让大家有所收获~赶快看看吧原创 2013-08-03 12:00:42 · 1059 阅读 · 0 评论 -
关于SpringBoot的一些Reflection
1. 宣言 Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party lib原创 2017-10-23 21:31:26 · 984 阅读 · 1 评论