架构设计
文章平均质量分 92
流火星空
七月流火,浩瀚星空
展开
-
一次爬虫的编写尝试
一 背景近期有想法,想要拿到指定时间段的新闻/文章信息,简单做个舆情分析。那么最基础的就是先获取文章列表。舆情相关的现成接口有一些,例如 微博的舆情监测平台,里面有比较成熟的api提供;阿里云,百度云也都有舆情接口。 不过受限于某些因素,或是费用问题,或是api本身能提供的新闻时间范围不符合预期,导致无法直接使用。那么就考虑临时通过spider去抓取一些信息,用于支持本次的工作内容。二 关于舆情检测舆情监测,是指根据关键词获取舆情信息,包括新闻、论坛、博客、微博、微信、贴吧等。这里补一句,京东云原创 2021-09-13 20:44:15 · 668 阅读 · 0 评论 -
Java 操作 Office:POI之word图片处理
系列文章:Java 操作 Office:POI 之 word 生成一 背景问题本系列旨在分享一些word操作框架POI的一些使用技巧,系统学习可直接参考官方文档,或上一篇中提到的Apache POI Word(docx) 入门示例教程。更多交流可添加公众号【程序员架构进阶】一起探讨。本篇是根据一个真实场景,探索的实现方法。我们有一些希望插入word的图片,在插入时也要对图片本身添加一些标注,例如红框标记等等,也可能是添加文字标注。如果是手工操作,这显然比较简单,使用美图秀秀、Photos原创 2021-08-07 12:20:19 · 1856 阅读 · 0 评论 -
Java 操作 Office:POI 之 word 生成
一 背景最近在项目开发中,有数据导出到word的需求。这就涉及代码生成word文档的操作,且有格式要求。 大家用word做过简历的都有了解,做简历时,会使用表格、图片、文字等元素。而且表格也可能有嵌套、合并单元格,以及插入图片到单元格的操作。该怎么做?二 Java操作Office方案百度一下Java Office操作,或者再直接一点搜索Java word,就比较容易搜到iText、POI等组件。在文章 Java导出word的几种方式 这篇文章中,提到了包括Jacob、Apache POI、J..原创 2021-08-06 19:22:37 · 1336 阅读 · 0 评论 -
权限与认证:JWT
一 背景最近在做的一个项目中,需要自己开发权限与角色功能,所以就再次调研了一下认证和授权框架及方案,JWT也是其中之一。因此做本篇整理。二 JWT简介及Token认证方案2.1 简介JWT,即JSON Web Tokens(JWT官网),也就是JSON结构的Web Token。完整描述参见rfc7519。JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transfe...原创 2021-06-03 21:11:13 · 330 阅读 · 2 评论 -
微服务注册中心:Consul——服务发现
系列文章:微服务架构:网关概念与 zuul微服务网关:Spring Cloud Gateway —— Zuul微服务网关:Spring Cloud Config- 配置中心微服务网关方案:Kong & NacosNacos 实践微服务网关:Nacos 源码实践(二)微服务注册中心:Consul——概念与基础操作微服务注册中心:Consul——服务注册一 概述说完了Consul的服务注册,那么就该到服务发现了。大家有过rpc框架使用经验的,例如nacos、.原创 2021-05-29 22:39:36 · 553 阅读 · 0 评论 -
微服务注册中心:Consul——概念与基础操作
系列文章:微服务架构:网关概念与 zuul微服务网关:Spring Cloud Gateway —— Zuul微服务网关:Spring Cloud Config- 配置中心微服务网关方案:Kong & NacosNacos 实践微服务网关:Nacos 源码实践(二)楔子好久不见。由于工作的原因停更了一段时间,今天开始继续更新。前面介绍过微服务相关的一些技术方案,注册中心除了Zookeeper、Nacos之外,其实Consul也可以,只不过使用比例上看并不算高。最.原创 2021-05-28 16:27:43 · 499 阅读 · 0 评论 -
微服务注册中心:Consul——服务注册
系列文章:微服务架构:网关概念与 zuul微服务网关:Spring Cloud Gateway —— Zuul微服务网关:Spring Cloud Config- 配置中心微服务网关方案:Kong & NacosNacos 实践微服务网关:Nacos 源码实践(二)微服务注册中心:Consul——概念与基础操作一 简介微服务注册中心:Consul——概念与基础操作介绍了consul的安装和基本操作,本篇开始在consul上进行服务注册与发现,语言使用Java.原创 2021-05-27 19:44:14 · 916 阅读 · 0 评论 -
五月,迟来的开篇
注:文章写于五月三日,恰逢工作变故后刚刚有了确定的结果,即将迎来新的开始。最近一直忙于新的工作环境适应,尽快融入团队并输出价值,所以停更了很多天。从今天开始更新会继续进行,脚踏实地,深耕技术、业务、管理领域。未来的我,与你同行。共勉。公众号:程序员架构进阶 https://mp.weixin.qq.com/s/GiVtzeVIeud2yAIkyNjayA五月开篇 时间已到五月三日,却刚刚准备做这个月的开篇。过去的一个多月估计会是难忘的经历。职业生涯中脱离工作状态最久的一次,期间每天从...原创 2021-05-23 22:15:30 · 219 阅读 · 0 评论 -
怎样做好服务提供方
一 摘要在日常的开发中,我们经常会接触到服务方、服务商、服务提供方这类的角色。简单来说,就是提供服务让我们使用。本篇会展开思考,如果我们作为服务提供方,那么应该做到哪些,才能保证服务的提供是“好”的。二 概念2.1 什么服务这个“服务”,可能是具体一点的资源对象,也可能是一些业务能力的抽象,还可能是支持类的能力提供。2.2 服务对象服务对象,可以理解为是我们的“客户”。大家有过相关经验的都能够理解,当面向不同的客户时,我们提供的内容或提供方式会有所差别,这是由客户本身的特性和需求决定原创 2021-05-23 21:20:00 · 241 阅读 · 0 评论 -
数据架构:数据冷热分离实践思考
系列文章:数据架构:概念与冷热分离公众号:程序员架构进阶一 概述上一篇文章数据架构:概念与冷热分离中介绍了数据架构的概念和意义。并抛出了数据冷热分离的问题。事实上,这并不是新的概念,各公司在很早之前就已经开始了落地实践。微软云有冷热 blob 存储,阿里云有 ots,都是为了在云服务层面提供冷热存储的解决方案。尽管有这些工具,如果很好地实现冷热分离,仍然是值得仔细思考和玩味的。二 冷热分离核心问题与案例2.1 关键问题回归话题,无论我们怎样选择冷热存储方案,首先,都还是需要.原创 2021-05-10 19:36:25 · 952 阅读 · 3 评论 -
数据架构:概念与冷热分离
一 什么是数据架构关于架构,大家都有了解和理解。通常一个业务或项目,在做架构设计时,可能会包含业务架构和技术架构。其中技术架构是我们作为开发角色,在做设计时重点的工作内容。但还有架构类型的划分方式,会包括业务架构、技术架构、数据架构和应用架构四种。数据架构管理的内容包括管理对象、管理流程、管理组织,管理对象又包括数据标准、数据模型、数据库、数据质量。总之,数据架构就是由一定的管理组织,通过一系列管理流程,来实现对数据对象的管理。数据架构构成如下图所示:二 为什么需要数据架构“经验来.原创 2021-05-07 22:52:54 · 418 阅读 · 0 评论 -
微服务网关方案:Kong & Nacos
系列文章:微服务架构:网关概念与 zuul微服务网关:Spring Cloud Gateway —— Zuul微服务网关:Spring Cloud Config- 配置中心公众号:程序员架构进阶一 摘要 前面我们介绍了 Spring Cloud 体系下的网关 Gateway(Zuul)。事实上,还有很多开源且广泛应用的网关方案,例如 Kong 和 Nacos。本篇将先介绍这两种网关,包括架构和主要原理,并给出集中网关方案的对比。二 Kong2.1 介绍 ...原创 2021-04-26 21:55:31 · 2669 阅读 · 0 评论 -
【Java 试题】AQS 解析
系列文章:【Java 试题】从一道题目再看 Java 继承公众号:程序员架构进阶一 背景AQS 即 AbstractQueuedSynchronizer,是 java.util.concurrent.locks 包的一个重要概念。Java 中锁实现/同步的几种方式:synchronized,ReentrantLock,CAS。其中,可重入锁 ReentrantLock 就是基于 AbstractQueuedSynchronizer(AQS)的。因此,理解 AQS 的实现原理,对 Java 锁原创 2021-04-08 10:39:19 · 232 阅读 · 4 评论 -
设计模式沉思录:一 资源池
文章首发链接:https://mp.weixin.qq.com/s/pUjm_u6xaoFreK_36qITcg公众号:程序员架构进阶一 摘要 在工作中,经常会看到或者用到池化技术,例如数据库连接池、线程池、内存池等等。这类池化技术在很多经典框架中都存在,并且是设计中的重要部分。本篇将分析几种常见的池化技术框架,并结合业务案例来做资源池设计探索。二 资源2.1 什么是资源? 资源,百度上的解释是生产资料或生活资料的天然来源。在生活中可能这样描述没有问题,但似乎无法更准确地圈定...原创 2021-03-28 13:51:01 · 998 阅读 · 2 评论 -
源码分析 Netty:核心组件及启动过程分析
系列文章:源码分析 -Netty:开篇源码分析 -Netty:多线程在 Netty 中的应用源码分析-Netty: 并发编程的实践(二)源码分析-Netty: 架构剖析源码分析-Netty: 高性能之道一 Netty核心组件1.1 ChannelChannel(通道)是 NIO 基本的结构。JDK的NIO包中,有Channel接口的介绍:A nexus for I/O operations.A channel represents an open connect原创 2021-03-22 18:25:23 · 286 阅读 · 0 评论 -
dubbo 源码 v2.7 分析:通信过程及序列化协议
系列文章dubbo 源码 v2.7 分析:结构、container 入口及线程模型dubbo 源码 v2.7 分析:SPI 机制dubbo 源码 v2.7 分析:核心机制(一)dubbo 源码 v2.7 分析:核心机制(二)关注公众号:程序员架构进阶,每天实时获取更新,上百份面试资料和其他福利等你拿~一 摘要前面我们介绍了dubbo的核心机制,今天将开始分析远程调用流程。毕竟,作为一个rpc框架,远程调用是理论的核心内容。通过对dubbo相关实现的探究,深入了解rpc原理及可能的原创 2021-03-05 16:52:57 · 484 阅读 · 4 评论 -
漫谈中台系列:《1 小时带你深入理解中台》学习整理
最近在做一些中台的设计和落地,所以一方面梳理现有业务、分析设计方案,另一方面也在不断地学习和吸取其他公司、业务的经验教训。前些天看到下面两份资料,感觉有比较深的感触,所以整理如下。资料地址:作为前阿里人,来扒一扒中台皇帝的外衣!1 小时带你深入理解中台作者:李云华,前阿里P9是骡子是马,拉出来溜溜:2个接入中台项目经验:电商中台、支付中台,从使用者角度来谈谈中台。一 中台价值,理想与现实1、中台的价值,你看到的是这样的可以让各业务部门保持相对的独立和分权,保证对业务的敏感性原创 2021-02-27 22:39:16 · 306 阅读 · 5 评论 -
【Mysql-InnoDB 系列】锁定读
系列文章:【Mysql-InnoDB 系列】InnoDB 架构【Mysql-InnoDB 系列】锁【Mysql-InnoDB 系列】事务模型【Mysql-InnoDB 系列】关于一致读一 概念锁定读,是相对于一致(非锁定)读来说的。当我们在同一个事务(T1)中先读数据,然后执行插入或更新相关数据时,普通的SELECT语句并不能给予足够的保护。其他事务也可能更新或删除我们在T1事务中查询的相同行。InnoDB支持两种类型的锁定读,来提供额外的保护:1、SELECT ...原创 2021-02-27 07:21:24 · 248 阅读 · 0 评论 -
【Mysql-InnoDB 系列】关于一致读
系列文章:【Mysql-InnoDB 系列】InnoDB 架构【Mysql-InnoDB 系列】锁【Mysql-InnoDB 系列】事务模型一 概念一致读(consistent read),在《MySQL技术内幕 第二版》中称为一致性非锁定读(consistent nonlocking read),是指InnoDB使用多版本控制(multi versioning)向查询提供数据库在某个时间点的快照。二 详细阐述一致读查询能够看到在该时间点之前提交的事务所做的更改,而不会看到原创 2021-02-27 07:11:29 · 226 阅读 · 1 评论 -
【Mysql-InnoDB 系列】锁
一 锁类型InnoDB支持的锁类型包括:共享锁和排它锁(Shared and Exclusive Locks)意向锁(Intention Locks)记录锁(Record Locks)间隙锁(Gap Locks)临键锁(Next-Key Locks)插入意向锁(Insert Intention Locks)自增锁(AUTO-INC Locks)空间索引的谓词锁(Predicate Locks for Spatial Indexes)二 详细描述2.1 共享锁和排它原创 2021-02-27 07:07:05 · 282 阅读 · 1 评论 -
【Mysql-InnoDB 系列】InnoDB 架构
概述InnoDB架构,包括内存结构和磁盘结构,架构图如下所示:一 内存架构内存架构中,包含四个部分:Buffer Poll、Change Buffer、Adaptive Hash Index、Log Buffer。以下分别详细描述:1、Buffer Poll二 磁盘架构...原创 2021-01-08 10:10:09 · 237 阅读 · 0 评论 -
业务架构设计迭代演进思路
一 背景整理这篇记录有几个原因,一是看到对58架构师沈剑的采访记录业务架构设计迭代演进思路中对于业务架构设计和演进的一些观点;二是近期阿里要拆掉中台的消息。二 关于业务架构回到我们对一项新事物的分析方法(本文不做扩展描述,感兴趣可以搜索6w3h分析法):是什么(what),为什么(why),怎么办(how)。那么第一个问题,什么是业务架构?2.1 什么是业务架构“架构”,英文单词为architecture,来源于建筑词汇,指房屋的整体结构、框架。技术领域,我们比较了解或者说经常打交道..原创 2020-12-28 17:50:47 · 1208 阅读 · 4 评论