2018年3月7日
摘要: 不能说某某语言不好! 首先,千万别说某一个语言好不好,应为这样的用词是错的,我曾经在好多场合听到一些程序员说java好,.net不好这类的话。 其实语言不分好坏,只是在具体的某些领域或业务场景上不合适罢了。任何技术都没有绝对的好坏,只有在这个场景下合不合适,把正确的技术用在合适的业务节点上才是最重要 阅读全文
posted @ 2018-03-07 20:14 粗狂的_蜗牛 阅读(1381) 评论(0) 推荐(0)
摘要: 使用架构图来展现出自己对一个项目中所涉及的技术的总体思路 架构图的维度和组成要素 架构视图最经典的当属4+1视图:包含逻辑视图、开发视图、过程视图、物理视图、场景视图 1:逻辑视图一般针对客户、用户、业务人员、开发组织,主要从系统的功能元素、以及它们的接口、职责、交互维度入手。主要元素包括系统、子系 阅读全文
posted @ 2018-03-07 15:23 粗狂的_蜗牛 阅读(805) 评论(0) 推荐(1)
摘要: 什么是五层架构?表现层服务层业务层数据访问层数据持久化层 阅读全文
posted @ 2018-03-07 15:12 粗狂的_蜗牛 阅读(527) 评论(0) 推荐(0)
摘要: 1、用户表 id userid username2、角色表 roleid roleName roleType 3、权限表 permissionid,permissionType4、角色权限关系表 5、文件目录结构表 6、角色文件目录权限关系表 权限分类 一、分类 (一)从控制力度来看,可以将权限管理 阅读全文
posted @ 2018-03-07 15:11 粗狂的_蜗牛 阅读(466) 评论(0) 推荐(0)
摘要: 1、单体应用 2、服务 1.1 什么是单体应用? 所有功能都放在一起,部署在一个机器上,这种应用被称为单体应用。对于用户量小,流量也不大的系统单体应用可以轻松应对。 2.1 什么是服务? 把各个模块拆分成小应用,各模块可以独立开发,灵活部署。每个应用对外提供接口让别人访问。这种方式称为服务。 服务的 阅读全文
posted @ 2018-03-07 15:10 粗狂的_蜗牛 阅读(129) 评论(0) 推荐(0)
摘要: 什么是领域驱动设计? 2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段: 以一种领域专家、设计人员、开发人员都能 阅读全文
posted @ 2018-03-07 15:09 粗狂的_蜗牛 阅读(163) 评论(0) 推荐(0)
摘要: 什么是decker容器 简单理解就是将代码和部署环境一起打包的一个容器 阅读全文
posted @ 2018-03-07 15:09 粗狂的_蜗牛 阅读(121) 评论(0) 推荐(0)
摘要: 1:系统架构2:系统质量保证 2.1单元测试 2.2代码质量管理平台3:系统性能保证 3.1:缓存 3.1.1 缓存 3.1.1.1 自定义实现(多级缓存) 3.1.1.2 NoSQL(Redis,Memcached,MongoDB,PostgreSQL) 3.2:异步 3.2.1 编程语言层面异步 阅读全文
posted @ 2018-03-07 15:08 粗狂的_蜗牛 阅读(178) 评论(0) 推荐(0)
摘要: 什么是仓储模式? Repository模式是一个独立的层,介于领域层(业务逻辑层)与数据映射层(数据访问层)之间,他的存在让领域层感觉不到数据访问层的存在, 它提供一个类似集合的接口提供给领域层进行领域对象的访问。Repository是仓库的管理员,领域层需要什么东西只需要告诉仓库管理员,由仓库管理 阅读全文
posted @ 2018-03-07 15:07 粗狂的_蜗牛 阅读(1045) 评论(0) 推荐(0)
摘要: 1:为什么要引入缓存? 引入缓存是为了减轻后端数据库服务的压力,防止其"罢工" 常见的缓存服务有,Ehcache、Oscache、MemCache、Redis,这些都是主流的经得起考验的缓存技术实现,特别是Redis已经大规模运用于分布式集群服务中,并证明了自己优越的性能2:多级缓存 2.1 首先充 阅读全文
posted @ 2018-03-07 15:07 粗狂的_蜗牛 阅读(179) 评论(0) 推荐(0)
摘要: ETL是做什么的?ETL是建立数据仓库是数据抽取转换加载的过程。ETL工作的实质就是从各个源数据表中提取数据,对数据进行转换,最终加载填充到数据仓库维度建模后的表中的一个过程。只有当这些维度/事实表被填充好,ETL工作才算完成。数据仓库和数据库有什么区别?数据仓库是面向分析的,而操作性数据库是面向应 阅读全文
posted @ 2018-03-07 15:06 粗狂的_蜗牛 阅读(186) 评论(0) 推荐(0)
摘要: 悲观锁和乐观锁的使用场景及具体实现悲观锁对于每次数据操作都认为会被其他事物修改,所以使用所机制锁住当前数据项,其他修改事物在此次数据操作完成之前都要等待。悲观锁对于数据并发冲突可能性比较高的情况下使用,写操作比较多,冲突性大会导致上层不断地retry消耗性能。乐观锁对于每次数据操作都认为不会被其他事 阅读全文
posted @ 2018-03-07 15:06 粗狂的_蜗牛 阅读(125) 评论(0) 推荐(0)
摘要: 面向接口编程 一般在实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应该是所有的定义与实现分离,尽管这对于系统中某些复杂的情况有些繁烦。面向接口编程设计 使用面向接口编程思想将层与层之间通过接口依赖,下层不是直接给上层提供服务,而是定义一组接口供上层调用。至于 阅读全文
posted @ 2018-03-07 15:05 粗狂的_蜗牛 阅读(162) 评论(0) 推荐(0)
摘要: 1:高并发是什么? 高并发时互联网分布式系统架构设计中必须考虑的因素之一,他通常是指,通过设计保证系统能够并行处理很多请求。2:高并发常用的指标有哪些? 响应时间、吞吐量、每秒查询率QPS(Query Per Second),并发用户数等 阅读全文
posted @ 2018-03-07 15:02 粗狂的_蜗牛 阅读(115) 评论(0) 推荐(0)
摘要: 负载均衡是云计算的基础组件,是网络流量的入口,其重要性不言而喻。 什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀地分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求, 达到负载分担的目的。从应用场景上来说,常见的负载均衡模型有全局负载均衡和集群内负载均衡,从 阅读全文
posted @ 2018-03-07 15:01 粗狂的_蜗牛 阅读(153) 评论(0) 推荐(0)
摘要: 其实开通博客已经有四年之久了,但遗憾的是从来没有认真写过一篇博客,只是在平时会浏览一些大牛写过的博客。 其实我觉得做技术的定期总结自己的经验还是很重要的。 不知不觉参加工作已经三年了,三年时间真的过得很快,想当初带着一腔热血,一个背包走天下,来到上海,从零开始,在人家家里打过地铺,住合租房子,到现在 阅读全文
posted @ 2018-03-07 14:29 粗狂的_蜗牛 阅读(213) 评论(0) 推荐(0)