随笔分类 -  架构设计

摘要:1. TaskExecutor Spring异步线程池的接口类,其实质是java.util.concurrent.Executor Spring 已经实现的异常线程池: 1. SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。 2. Sy 阅读全文
posted @ 2018-08-06 10:45 星朝 阅读(4175) 评论(0) 推荐(0) 编辑
摘要:Top全异步方式调用技术方案   背景:目前top通过servlet3.0技术结合异步管道化框架做到半异步调用,半异步调用采用异步线程同步调用后端的方式来做api call     半异步的好处 在异步线程使用的是权重线程池,在异步线程的资源分配上做到可控,通过这个我们 阅读全文
posted @ 2018-08-06 10:30 星朝 阅读(465) 评论(0) 推荐(0) 编辑
摘要:引言 近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体 阅读全文
posted @ 2018-07-31 17:42 星朝 阅读(7213) 评论(0) 推荐(0) 编辑
摘要:第一篇:概述 传统的企业应用系统主要面对的技术挑战是处理复杂凌乱、千变万化的所谓业务逻辑,而大型网站主要面对的技术挑战是处理超大量的用户访问和海量的数据处理;前者的挑战来自功能性需求,后者的挑战来自非功能性需求;功能性需求也许还有“人月神话”聊以自慰,通过增加人手解决问题,而非功能需求大多是实实在在 阅读全文
posted @ 2018-07-31 17:39 星朝 阅读(647) 评论(0) 推荐(0) 编辑
摘要:原标题:就目前市面上的面试整理来说,最全的BAT大厂面试题整理在这 又到了面试求职高峰期,最近有很多网友都在求大厂面试题。正好我之前电脑里面有这方面的整理,于是就发上来分享给大家。 这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出 阅读全文
posted @ 2018-07-26 13:44 星朝 阅读(2207) 评论(0) 推荐(1) 编辑
摘要:每一个技术人都有着一个架构师的梦,希望自己有朝一日能登上技术之巅,以下结合我自己13年的从业经验,分别从架构师进阶之路、架构师能力模型(这里是亮点)、架构师技能树、架构师业务技能树谈起,完整的剖析一个好的架构师的能力模型,希望这篇文章能让大家清晰的了解架构师的能力和要求,以及找到自己的不足,努力去提 阅读全文
posted @ 2018-07-26 13:12 星朝 阅读(477) 评论(0) 推荐(0) 编辑
摘要:关于mysql事务行锁for update实现写锁的功能 读后感:用切面编程的理论来讲,数据库的锁对于业务来说是透明的。spring的事务管理代码,业务逻辑代码,表锁,应该是三个不同的设计层面。 在电子商务里,经常会出现库存数量少,购买的人又特别多,大并发情况下如何确保商品数量不会被多次购买. 其实 阅读全文
posted @ 2018-07-25 11:23 星朝 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket   一、前言 针对并发,老生常谈了。目前一个通用的做法有两种:锁机制:1.悲观锁;2.乐观锁。 但是这篇我主要用于记录我这次处理的经历,另外希望能看的大神,大牛,技师者,学长,兄长,大哥们能在 阅读全文
posted @ 2018-07-25 11:22 星朝 阅读(1761) 评论(0) 推荐(0) 编辑
摘要:之前的文章《Java分布式锁实现》中列举了分布式锁的3种实现方式,分别是基于数据库实现,基于缓存实现和基于zookeeper实现。三种实现方式各有可取之处,本篇文章就详细讲解一下Java分布式锁之基于数据库的实现方式,也是最简单最易理解的实现方式。 首先,先来阐述下“锁”的概念,锁作为一种安全防御工 阅读全文
posted @ 2018-07-24 17:36 星朝 阅读(1841) 评论(0) 推荐(0) 编辑
摘要:在分布式环境下经常会出现这样的需求,多个服务器节点调用远程服务器的某项资源,但是这样的资源在同一时间点只允许一个服务器节点使用,类似于这样机器与机器之间的并发无法通过传统java并发API来解决.于是便有了分布式锁 数据库锁是并发锁的一种实现 分布式锁需要满足以下两个条件 在分布式环境下,在同一时间 阅读全文
posted @ 2018-07-24 17:35 星朝 阅读(2158) 评论(0) 推荐(0) 编辑
摘要:写在前面: 分布式部署,分布式锁。网上查阅了很多资料,整理一份比较全的关于分布式锁相关的资料,本文非原创只是不同文章的整理和理解,文章最后我会把资料来源摘出。 分布式锁目前比较常用的几种方案: 基于数据库实现分布式锁 基于缓存(redis , memcached)实现分布式锁 基于zookeeper 阅读全文
posted @ 2018-07-24 17:34 星朝 阅读(1181) 评论(0) 推荐(0) 编辑
摘要:  目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多 阅读全文
posted @ 2018-07-24 17:07 星朝 阅读(185) 评论(0) 推荐(0) 编辑
摘要:很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车! 学过Java多线程的应该都知道什么是锁, 阅读全文
posted @ 2018-07-24 17:05 星朝 阅读(290) 评论(0) 推荐(0) 编辑
摘要:本文围绕以下几点进行阐述 1、什么时redis 2、为什么使用redis 3、使用redis有什么缺点 4、单线程的redis为什么这么快 5、redis的数据类型,以及每种数据类型的使用场景 6、redis的过期策略以及内存淘汰机制 7、redis和数据库双写一致性问题 8、如何应对缓存穿透和缓存 阅读全文
posted @ 2018-07-24 16:57 星朝 阅读(1386) 评论(0) 推荐(0) 编辑
摘要:本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发 阅读全文
posted @ 2018-07-24 16:56 星朝 阅读(261) 评论(0) 推荐(0) 编辑
摘要:互联网支付系统整体架构详解 在互联网产品运营中,有很多小伙伴或许会遇到这样的困扰:产品好不容易推出来了,流量成本节节攀升,用户的活跃度、留存度却持续下降。 因此在瞬息万变的互联网产品环境中,需要研发接入支付系统来加入商业行为的闭环,支付系统能够帮助企业更好地实现商业化,利用那些为用户而生的支付体系产 阅读全文
posted @ 2018-07-24 13:59 星朝 阅读(508) 评论(0) 推荐(0) 编辑
摘要:JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下。 代码其实很简单: 以前的代码一般是如此的: ?1234567891011121314151617public class AcceptMethod {  &nb 阅读全文
posted @ 2018-07-23 15:52 星朝 阅读(929) 评论(0) 推荐(0) 编辑
摘要:jdk目录详解 jdk目录详解 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者 编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。&nbs 阅读全文
posted @ 2018-07-23 15:51 星朝 阅读(6842) 评论(0) 推荐(1) 编辑
摘要:结构化数据、半结构化数据和非结构化数据 结构化数据 结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例子: id name age gender 1 lyh 12 male 2 liangy 阅读全文
posted @ 2018-07-20 10:09 星朝 阅读(1775) 评论(0) 推荐(0) 编辑
摘要:前后分离的总结 我们遇到了什么问题? 1.前端无法调试后端未完成的 API:如果后端同学还没有完成 API 开发,那么前端同学就不能对这个 API 进行开发。之前我们都是在代码里直接通过给变量赋假数据,又或者是在后端 Controller 里直接 return JSON 的方式来进行调试的。这样的方 阅读全文
posted @ 2018-07-17 16:09 星朝 阅读(2107) 评论(0) 推荐(0) 编辑