Jackyfei
摘要: 微服务是软件架构的银弹吗?或许不是。这个世界上很少有东西是百分百正确的,微服务也不例外。最近,技术作家迈克尔·丘奇曼(Michael Churchman)发文分享了在设计或重构应用程序时,哪些场景可以使用微服务,哪些场景要避免使用微服务。以下为原文编译内容。 微服务是一个具体的软件服务,通常是基于应 阅读全文
posted @ 2020-02-22 10:47 张飞洪[厦门] 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: 微服务是一种软件架构风格,以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic) 的 API 集相互通讯。在过去 阅读全文
posted @ 2020-02-22 10:44 张飞洪[厦门] 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 虽然微服务概念流行已有一段时日,但任何技术都有其优缺点。看到微服务同时扮演正派和反派角色之后,ThoughtFocus 的技术架构师埃宾·约翰(Ebin John)发文建议开发者,如果你是倾向于将微服务作为默认架构的架构师或设计师,最好问自己以下几个问题。 1. 你的应用程序庞大得足以细分成微服务吗 阅读全文
posted @ 2020-02-22 10:41 张飞洪[厦门] 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 本文是学习颜群的《如何快速且深入的学习一门技术》的一篇记录文章,同时记录下我的一些个人感想,对方的很多观点让我很受启发,虽然自己平时对学习方法有些心得,但是真正去总结时间却很少。缺少盘点的结果就是任凭本能和生物钟状态,显然这种方法是不可持续的。为了提升个人或团队的学习效率,如何摸索一套针对技术类型的 阅读全文
posted @ 2020-02-16 13:39 张飞洪[厦门] 阅读(3576) 评论(7) 推荐(5) 编辑
摘要: 云原生是当下的热点话题,但是很多人对云原生有很多误解,特别是传统产业物联网或工控、物联网行业对云原生显得"后知后觉"。与其在这里说是预测,不如说是现在进行时,只是由于传统产业本身的技术包袱和组织个人认识程度差异,目前发展并不见快。目前大部分的系统还是停留在旧年代,只是不到火候,还没到尝鲜和推倒重来的 阅读全文
posted @ 2020-01-14 11:22 张飞洪[厦门] 阅读(3998) 评论(32) 推荐(15) 编辑
摘要: 如何确保一个方法,或者一块代码在高并发情况下,同一时间只能被一个线程执行,单体应用可以使用并发处理相关的 API 进行控制,但单体应用架构演变为分布式微服务架构后,跨进程的实例部署,显然就没办法通过应用层锁的机制来控制并发了。那么锁都有哪些类型,为什么要使用锁,锁的使用场景有哪些?今天我们来聊一聊高 阅读全文
posted @ 2020-01-10 08:38 张飞洪[厦门] 阅读(3490) 评论(4) 推荐(2) 编辑
摘要: 前言 多年的开发积累让我一直在思考一个问题:如何能拥有一个开箱即用的框架?或者说针对不同的业务规模,能有一系列相应的框架版本,这样每次新项目上线的时候,或者业务增长变更的时候,都无需重新造轮子,我们所要做的是对号入座,即根据业务实际拿一个相应的版本过来微调即可高效上路且不翻车?做到用最少的时间,最低 阅读全文
posted @ 2020-01-07 09:01 张飞洪[厦门] 阅读(3073) 评论(4) 推荐(9) 编辑
摘要: 目前公司系统多个应用分层结构各不相同,给运维和未来的开发带来了巨大的成本,分层架构看似很简单,但保证整个研发中心都使用统一的分层架构就不容易了。 那么如何保证整个研发中心都使用统一的分层架构,以达到提高编写代码效率、保证工程统一性的目的? 这里给出个人的规划设计,希望对你有所启发。 1.分层目标 简 阅读全文
posted @ 2020-01-07 08:42 张飞洪[厦门] 阅读(9327) 评论(48) 推荐(53) 编辑
摘要: 记得之前在规划和设计微服务架构的时候,张队长给了我一个至今依然记忆深刻的提示:『你的设计蓝图里为什么没有看到DDD的影子呢?』 随着对充血模型的领域认知的加深,我越加感觉到DDD的重要性。于是网上一顿海找,并做了学习笔记。 DDD内容繁多,个人浅见,它不同于传统贫血的最核心的一点就是把原先传统的贫血 阅读全文
posted @ 2020-01-03 08:45 张飞洪[厦门] 阅读(3994) 评论(16) 推荐(8) 编辑
摘要: 经常有同学问我,我的一个SQL语句使用了索引,为什么还是会进入到慢查询之中呢?今天我们就从这个问题开始来聊一聊索引和慢查询。 另外插入一个题外话,个人认为团队要合理的使用ORM,可以参考我的另外一篇<ORM的权衡和抉择>。合理利用的是ORM在面向对象和写操作方面的优势,避免联合查询上可能产生的坑(当 阅读全文
posted @ 2019-12-31 09:23 张飞洪[厦门] 阅读(4221) 评论(8) 推荐(12) 编辑
摘要: 此前,在由 ThoughtWorks 举办的领域驱动设计峰会 DDD-China 2019 上,InfoQ 记者就开发团队为何需要 DDD、目前业界实践 DDD 的挑战等问题对中兴通讯资深软件架构师张晓龙进行了采访。以下为重点内容,这里记录采访内容的学习笔记。 张晓龙认为,开发团队真的需要 DDD。 阅读全文
posted @ 2019-12-29 11:05 张飞洪[厦门] 阅读(780) 评论(0) 推荐(1) 编辑
摘要: 很多做软件开发同学的梦想都是成为一名架构师,而架构师的核心工作就是做好软件设计。软件设计是软件开发过程中的一个重要环节,那么如何进行软件设计,其输出标准又是什么呢?软件设计过程中,如何和各个相关方沟通,使软件设计能同时满足用户的功能需求和非功能需求,并降低公司的开发成本? 前期思考 很多软件开发同学 阅读全文
posted @ 2019-12-25 08:51 张飞洪[厦门] 阅读(6082) 评论(40) 推荐(31) 编辑
摘要: 昨天写了一篇<微服务的时间和成本去哪儿了>,有人在底下留言: 我的回答是: "微服务可以不用服务发现和负载均衡吗?它是微服务一个核心组件。怎么能说没有关系?" 我觉得有必要来思考和总结一下服务发现技术是如何演进的。于是周末一通阅读和消化,希望能掰开揉碎在这里讲一下服务发现技术的演进历史。 催生的背景 阅读全文
posted @ 2019-12-23 10:18 张飞洪[厦门] 阅读(1018) 评论(0) 推荐(8) 编辑
摘要: 2019 中国.NET 开发者峰会目前在国内的.NET社区还是很有影响力的,宣传的内容也都是比较新潮和前言的技术栈。 有一个不争的现实是基本上主题都是关于.NET Core的,以及基于该主题之上的延展。比如ML.NET相关的机器学习;基于.NET Core的微服务实战;传统转型.NET Core的实 阅读全文
posted @ 2019-12-20 10:05 张飞洪[厦门] 阅读(7859) 评论(55) 推荐(38) 编辑
摘要: 本月的功能在踉跄中勉强上线了,这个月有实验的味道,有摸索的代价,有分工和衔接上的问题,有技术储备方面的不足,有业务梳理方面的欠缺,也有个人能力和意识上的不足,梳理整个开发流程,目前存在的几大问题: 一、代码质量问题: 描述分析 1.性能层面: 从综合维度看,代码质量好坏取决于开发人员整体的编程经验: 阅读全文
posted @ 2019-12-03 08:22 张飞洪[厦门] 阅读(1004) 评论(0) 推荐(4) 编辑
摘要: 为了高效开发,节约编写文档的成本,API服务使用Swagger来描述 一、API设计原则 控制API的粒度和数量 命名要遵循简单、可读、统一原则; 优先设计API,然后编码 二、URL设计【针对后端开发】 2.1 HTTP规范 动词目前暂时以下面两种 HTTP 方法,对应 CRUD 操作。 2.2 阅读全文
posted @ 2019-11-28 23:25 张飞洪[厦门] 阅读(1470) 评论(0) 推荐(1) 编辑
摘要: 一、规范目的: 规范的目的是提高代码可读性,阅读的舒适性,减少维护的成本,方便后续运维,让运维人员看到别人写的代码就像自己写的代码。 随着需求的增加,代码必然是越堆越多,越来越乱,最后失控导致项目腐烂。 物理学上的熵让我们理解了一件事,如果不施加外力影响,事物永远向着更混乱的状态发展。比如,房间如果 阅读全文
posted @ 2019-11-27 09:12 张飞洪[厦门] 阅读(781) 评论(0) 推荐(4) 编辑
摘要: 为什么需要Vuex 管理共享状态 解决一份数据在多个组件中试用的困难 系统化的状态管理,区别于小型状态过来 底层设计模式: 全局单例模式 应用场景 适合中大型项目; 小项目反而会因为引入更多概念和框架而带来复杂性 Vuex运行机制 下图和state->vue->action流程差不多,只是多了个Mu 阅读全文
posted @ 2019-11-26 09:10 张飞洪[厦门] 阅读(322) 评论(0) 推荐(0) 编辑
摘要: Vetur 用途: 语法高亮 标签补全,模板生成 Lint检查 格式化 vs code环境配置文件 文件-->首选项-->搜索veture(找不到需要自行安装)-->在setting.json中编辑 配置文件代码如下: vs code快速生成组件的快捷键 文件-->首选项-->用户代码片段-->输入 阅读全文
posted @ 2019-11-23 13:55 张飞洪[厦门] 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 1.双向绑定和单向数据流: 本质上还是单向数据流 视图<——>数据 v-model:仅仅是一个简写,用更少代码去实现功能。 自定义事件 .sync 修饰符 2.虚拟DOM及KEY属性作用 jquery: jquery: vue: virtual dom virtual dom 新旧DOM树比较 新旧 阅读全文
posted @ 2019-11-19 09:58 张飞洪[厦门] 阅读(413) 评论(0) 推荐(0) 编辑