架构
zhuiqiuuuu
这个作者很懒,什么都没留下…
展开
-
java 4种方式读取配置文件 + 修改配置文件
方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后转载 2017-06-18 13:02:38 · 537 阅读 · 0 评论 -
【DDD 5】领域驱动设计实践 —— 限界上下文识别
【DDD】领域驱动设计实践 —— 限界上下文识别目录【DDD】领域驱动设计实践 —— 限界上下文识别1. 限界上下文(Bounded Context)2. 上下文图(Context Map)共享内核(Shared Kernel)客户/供应商(Customer/Supplier)Conformist(追随者)防腐层(Anticorruption Layer)公...转载 2019-02-26 16:38:45 · 544 阅读 · 0 评论 -
【DDD 6】领域驱动设计实践 —— 业务建模战术
【DDD】领域驱动设计实践 —— 业务建模战术目录【DDD】领域驱动设计实践 —— 业务建模战术1. 用一句话描述业务场景2. 小步快跑,不断迭代3. 短而高效的讨论很重要4. 将你的建模思考过程写下来5. 先从复杂的业务case开始建模6. 用业务术语代替技术术语 正文 本文结合团队在COMMUNITY(社区服务系统)业务建模过程中的实践经验,总...转载 2019-02-26 16:39:52 · 369 阅读 · 0 评论 -
【DDD 7】领域驱动设计实践 —— UI层实现
【DDD】领域驱动设计实践 —— UI层实现目录【DDD】领域驱动设计实践 —— UI层实现1. User Interface2. Controllercontroller是公司前台controller的职责controller的实现BaseController类图 代码示例3. DTODTO是controller和service之间数据传输的...转载 2019-02-26 16:41:36 · 477 阅读 · 0 评论 -
【DDD 8】领域驱动设计实践 —— Application层实现
【DDD】领域驱动设计实践 —— Application层实现目录【DDD】领域驱动设计实践 —— Application层实现1. Application层2. Serviceservice是组件粘合剂思考类图代码示例 3. AssemblerAssembler是组装器示例代码 思考4. 类图5. demo 正文 本文是...转载 2019-02-26 16:51:49 · 1723 阅读 · 0 评论 -
【DDD 9】领域驱动设计实践 —— Domain层实现
【DDD】领域驱动设计实践 —— Domain层实现目录【DDD】领域驱动设计实践 —— Domain层实现1. Domain层2. domain entity3. value object4. domain service5. domain event6. domain factory7. repository8. 领域建模示例9. demo正...转载 2019-02-27 08:53:33 · 1685 阅读 · 0 评论 -
【DDD 10】业务建模实践 —— 发布帖子
【DDD】业务建模实践 —— 发布帖子目录【DDD】业务建模实践 —— 发布帖子1. Round-I业务建模业务模型代码示例构造方法setter方法posting方法2. Round-II业务建模业务模型 示例代码 组合关系集合化处理改写TopicPost的equals和hashCode方法3. Round-III业务建模...转载 2019-02-27 08:56:39 · 591 阅读 · 0 评论 -
【DDD 11】业务建模实践 —— 删除帖子
【DDD】业务建模实践 —— 删除帖子目录【DDD】业务建模实践 —— 删除帖子1. 业务建模2. 业务模型3. 示例代码4. 建模经验使用“继承”方式实现不同角色的同类实体持续集成尽早发现模型中的不足5. 源码6. 迭代正文 本文是基于上一篇‘业务建模战术’的实践,主要讲解‘删除帖子’场景的业务建模,包括:业务建模、业务模型、示例代码;示例代...转载 2019-02-27 08:58:44 · 286 阅读 · 0 评论 -
【DDD 12】业务建模实践 —— 人关注人
【DDD】业务建模实践 —— 人关注人目录【DDD】业务建模实践 —— 人关注人1. Round-I业务建模业务模型示例代码2. Round-II 业务建模业务模型代码示例3. Round-III业务建模业务模型示例代码4. Round-IV业务建模业务模型示例代码5. Summarize 正文 社...转载 2019-02-27 09:03:03 · 503 阅读 · 0 评论 -
@Slf4j注解实现日志输出
自己写日志的时候,肯定需要:private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);每次写新的类,就需要重新写logger有简单的方式,就是使用@Slf4j注解首先是在pom中引入:<!--可以引入日志 @Slf4j注解--><dependency> &...转载 2019-03-12 09:23:47 · 739 阅读 · 0 评论 -
WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)目录WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)概述HTTP解析HTTP请求头HTTP响应头HTTP状态码浏览器缓存机制DNS域名解析DNS解析过程跟踪域名解析过程的命令清除缓存的域名CDN(Content Delivery Network)...转载 2019-03-26 11:40:42 · 5600 阅读 · 0 评论 -
负载均衡之Haproxy配置详解(及httpd配置)
负载均衡之Haproxy配置详解(及httpd配置)下图描述了使用keepalived+Haproxy主从配置来达到能够针对前段流量进行负载均衡到多台后端web1、web2、web3、img1、img2.但是由于haproxy会存在单点故障问题,因此使用keepalived来实现对Haproxy单点问题的高可用处理。三大主流软件负载均衡器对比(LVS VS Nginx VS ...转载 2019-03-26 11:59:39 · 463 阅读 · 0 评论 -
海量数据判重——布隆过滤器(Bloom filter)与Bitmap对比
布隆过滤器关于布隆过滤器(Bloom filter)的介绍部分,大多翻译自Wikipedia简介布隆过滤器(Bloom filter)是一个高空间利用率的概率性数据结构,由Burton Bloom于1970年提出。被用于测试一个元素是否在集合中(由于集合无重复元素的性质,可用来判重)。可在数据量大到传统无错误散列(hash)方法需要使用的内存量是不可满足时使用,传统无错散列方法可以消除...转载 2019-04-24 10:04:06 · 4245 阅读 · 0 评论 -
【DDD 4】领域驱动设计实践 —— 框架实现
【DDD】领域驱动设计实践 —— 框架实现目录【DDD】领域驱动设计实践 —— 框架实现1. 框架实现图2. 框架详述User Interface层dtocontrollerapplication层serviceassemblerdomain层domain entitydomain value objectdomain factory...转载 2019-02-26 16:36:51 · 538 阅读 · 0 评论 -
【DDD3】领域驱动设计实践 —— 架构风格及架构实例
目录1. 概述2. 架构风格六边形架构(端口和适配器)RESTCQRS事件驱动3. 架构实例架构图 架构详述 正文本文是【DDD】系列文章中的其中一篇,其他可参考:使用领域驱动设计思想实现业务系统 1. 概述DDD为复杂软件的设计提供了指导思想,其将易发生变化的业务核心域放置在限定上下文中,在确保核心域一致性和内聚性的基础上,DDD...转载 2019-02-26 16:31:27 · 904 阅读 · 0 评论 -
【DDD2】领域驱动设计精要
【DDD】领域驱动设计精要目录【DDD】领域驱动设计精要1. 定义2. 核心3. 概念4. 图解分层图模式图5. 思考 正文 本文算是《领域驱动设计》这本书的读书笔记,加上自己的一些读后感。网上有很多这本书的读书笔记,但是都是别人的,不如自己总结的理解深刻。建议大家在读这本书时结合《实现领域驱动设计》一起看,同时,一定要去实际建模和编码,理论...转载 2019-02-26 16:30:31 · 321 阅读 · 0 评论 -
关于Class.getResource和ClassLoader.getResource的路径问题
Java中取资源时,经常用到Class.getResource和ClassLoader.getResource,这里来看看他们在取资源文件时候的路径问题。Class.getResource(String path)path不以’/'开头时,默认是从此类所在的包下取资源;path 以’/'开头时,则是从ClassPath根下获取;什么意思呢?看下面这段代码的输出结果就转载 2017-06-18 13:17:18 · 238 阅读 · 0 评论 -
数据库分区表
数据库分区表(一)什么情况下需要分区,准备需要分区的数据 什么数据库需要进行分区?首先看一下我们的案例:2010年6月我们六期IT开发团队接到一个XX全国连锁店的餐饮系统,经过一周的敏捷开发之后,XX餐饮系统正式上线了,由于该软件的功能强大,操作简单,功能灵活等特性,很快在全国各地铺展开来。XX餐饮店的美食也颇受顾客的喜爱,有的店每天的收入高达1W元人民币,每天这么多的收入,那么每转载 2017-08-27 22:05:19 · 472 阅读 · 0 评论 -
spark编程模型与基本架构图
1. spark编程模型Spark应用程序从编写到提交、执行、输出的整个过程如图2-5所示,图中描述的步骤如下。0)用户使用SparkContext提供的API(常用的有textFile、sequenceFile、runJob、stop等)编写Driver application程序。1)Cluster Manager:Spark的集群管理器,主要负责资源的分配与管理。集群管理原创 2017-12-07 21:59:11 · 817 阅读 · 0 评论 -
大数据架构在携程的实践及相关案例介绍
问题导读:1、携程大数据如何实现高并发应用?2、如何设计推荐系统架构?3、如何实现在线实时计算? 本文来自携程技术中心基础业务研发部的《应用架构涅槃》系列分享。据基础业务研发部负责人李小林介绍,互联网二次革命的移动互联网时代,如何吸引用户、留住用户并深入挖掘用户价值,在激烈的竞争中脱颖而出,是各大电商的重要课题。通过各类大数据对用户进行研究,以数据驱动产品是解决这个课题的主要手段,携程...转载 2019-01-18 14:24:25 · 467 阅读 · 0 评论 -
flume+storm+kafka+mysql架构设计整合及介绍
问题导读1.flume在框架中的作用是什么?2.Kafka是消息中间件,它有什么特点?3.kafka和storm如何整合?4.flume和kafka如何整合?序言前段时间学习了storm,最近刚开blog,就把这些资料放上来供大家参考。这个框架用的组件基本都是最新稳定版本,flume-ng1.4+kafka0.8+storm0.9+mysql如果有需要测试项目代码的朋友,留下邮箱。(项目是m...转载 2019-01-18 15:13:58 · 1084 阅读 · 0 评论 -
大型券商机构智能大数据营销平台
问题导读1.本项目建设需要包含哪三个维度?2.项目背景是什么?3.大数据平台如何建设的? 本项目的建设目标主要包含以下三个维度 系统维度 :立足券商机构整体层面,搭建适应大数据处理分析场景的大数据平台,并保证足够的开放性与可扩展性,以满足急速增长的各类数据应用需求,适时弱化 MPP 构架一体机在数据服务体系中的作用 ; 数据维度 :对接现...转载 2019-01-18 15:16:06 · 1445 阅读 · 0 评论 -
从0到N建立高性价比的大数据平台
问题导读:1、如何从无到有建立一个大数据平台?2、对于传统数据仓库、日志分析工具适合多大数据量?3、主流OLAP的利器有哪些?分享内容简介今天和大家分享的内容主要就是怎么样从0到N来建一个大数据平台。其实,每一个大数据平台都不是凭空而起的,每个企业刚刚开始数据分析的时候,也不是上来就是一个大数据开源平台Hadoop、Spark这样一个存储的。今天分享的内容,其实是根据企业发展的不同阶段,针对...转载 2019-01-18 15:19:48 · 749 阅读 · 0 评论 -
淘宝为什么使用HBase及如何优化的
可以带着下面问题来阅读本文:1.大数据量,而且数据增量不可预测,采用什么方案比较合适?2.hbase有什么优点和缺陷?3.hbase采用什么模型保证数据不丢失?4.hbase的Meta表损坏以及split方面的bug会造成什么情况?5.什么情况下会关闭jobtracker?6.淘宝为了保障服务从结果上的可用,都采取了什么措施?7.hbase中split为什么存在风险?1 前言hbase是从h...转载 2019-01-18 15:21:43 · 357 阅读 · 0 评论 -
大数据架构师必读:常见的七种Hadoop和Spark项目案例
如果您的Hadoop项目将有新的突破,那么它必定与下边介绍的七种常见项目很相像。有一句古老的格言是这样说的,如果你向某人提供你的全部支持和金融支持去做一些不同的和创新的事情,他们最终却会做别人正在做的事情。如比较火爆的Hadoop、Spark和Storm,每个人都认为他们正在做一些与这些新的大数据技术相关的事情,但它不需要很长的时间遇到相同的模式。具体的实施可能有所不同,但根据我的经验,它们是...转载 2019-01-18 15:25:45 · 238 阅读 · 0 评论 -
金融大数据架构概述与应用
问题导读:1、如何设计金融大数据架构?2、IBM如何看待未来大数据趋势?3、架构设计容易忽略的细节有哪些?【导读】本文选自杨晓洋于2016年7月7日在清华大学经管学院伟伦楼所做的《金融大数据架构概述与应用》的演讲。他在介绍IBM眼中的几个大趋势的同时也讲了一些大数据基础架构的内容,从技术问题和实际需求出发,采用多个案例说明了构建金融大数据架构的具体细节和重点问题,以及处理大数据时候要做这些考...转载 2019-01-18 15:31:17 · 2879 阅读 · 0 评论 -
领域驱动设计(DDD)在美团点评业务系统的实践
前言 至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans将其定义为领域驱动设计(Domain-Driven Design,简称DDD)。在互联网开发“小步快跑,迭代试错”的大环境下,DDD似乎是一种比较“古老而缓慢”的思想。 然而,由于互联网公司也逐渐深入实体经济,业务日益复杂,我们在开发中也越来越多地遇到传统行业软件开发中所面...转载 2019-02-26 08:51:18 · 2519 阅读 · 0 评论 -
【DDD1】使用领域驱动设计思想实现业务系统-目录篇
最近新接了一个业务系统——社区服务系统,为了快速熟悉和梳理老系统的业务逻辑和代码,同时对老系统代码做一些优化,于是打算花上一个月时间不间断地对老系统服务进行重构。同时,考虑到社区业务的复杂性,想起了之前做用户系统时尝试过的领域驱动建模(简称DDD,英文全称为:Domain Driven Design),思量之下,觉得DDD非常适合这种复杂业务逻辑的系统。毫不迟疑,开搞! 之前在做用户系统时,...转载 2019-02-26 16:28:17 · 707 阅读 · 0 评论 -
亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 目录
对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中最常见的一种应用技术。然而,行业里很多朋友对缓存技术的了解与掌握,仅仅停留在掌握redis/memcached等缓存技术的基础使用,最多了解一些集群相关的知识,大部分人都可以对缓存技术掌握到这个程度。然而,仅仅对缓存相关的技术掌握到这种程度,无论是对于开发复杂的高并发系统,或者是在往Java高级工程师、Ja...转载 2019-07-27 14:36:56 · 614 阅读 · 0 评论