敏捷开发

微服务架构深度解析与最佳实践

自古美人都是妖i 提交于 2020-04-27 15:39:24
七个关键问题的应对策略 1.如何合理拆分微服务 当一个系统服务化的时候,就会面临一个问题:如何进行服务的划分?怎么确定服务的粒度?有没有一些可以参考的业界通用规则? 实际上服务划分的本质是对系统进行架构设计,服务的划分粒度没有绝对的过大或过小之说,不同阶段的侧重点和思考的角度也不尽相同。 创业初期的团队,过分的追求微服务,为了“微”而微,反而会导致业务逻辑过于分散,技术架构过于复杂,团队基础设施搭建能力弱,进而导致忽略了快速迭代交付产品的重要性,可能错失了市场机会。所以,关于服务的划分不是对错的选择题,而是需要综合考虑各种外界的因素,所作出的一个最适合的决策,这些外界因素通常包括业务、技术债、开发、运维、测试这 五个方面: 业务所处领域的市场性质:对市场比较敏感的项目,创业初期粒度应该尽量划分的粗一些,先提供充足的弹药去占领市场,然后再去考虑对系统进行重构和优化; 与原有系统之间的关系:对于历史遗留的系统,需要做好新旧系统之间的边界划分,避免过于激进、过大幅度的改造,应该采取小步快跑的方式,有节奏的对老系统进行服务化改造; 开发团队的成熟度:服务化带来的技术风险应该提前进行评估,要考虑团队的承受度,用合适的人做适合的事,考虑团队需要有包括敏捷,包括 Devops,包括基础设施,运维和测试的自动化等基础能力; 基础设施的搭建能力:在进行细粒度的服务划分时

程序员修神之路--为什么有了SOA,我们还用微服务?

三世轮回 提交于 2020-04-27 05:34:00
菜菜哥,我最近需要做一个项目,老大让我用微服务的方式来做 那挺好呀,微服务现在的确很流行 我以前在别的公司都是以SOA的方式,SOA也是面向服务的方式呀 的确,微服务和SOA有相同之处 面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。它是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。 微服务架构:其实和 SOA 架构类似,微服务是在 SOA上做的升华,微服务架构强调的一个重点是“业务需要彻底的组件化和服务化”,原有的单个业务系统会拆分为多个可以独立开发、设计、运行的小应用。这些小应用之间通过服务完成交互和集成。 基于SOA架构的系统,模块在进行划分的时候,颗粒度比较粗,比如一个会员系统SOA,可能包含会员基本信息管理,会员关系管理,会员资产管理等模块,这些模块统一规划在会员管理服务,部署的时候也在相同的进程中。如果按照微服务的理念来做架构设计的话,会员关系管理可能会是一个独立部署的服务,其他模块类似。是否需要独立,架构师需要根据这个模块的业务来决定,需要考察这个模块是否有独立的必要性。 有的时候

团队作业1:团队展示&选题(歪瑞古德小队)

落爺英雄遲暮 提交于 2020-04-26 19:15:55
目录 一、团队展示 1.1 队名:歪瑞古德小队 1.2 队员信息 1.3 项目描述 1.4 队员风采 1.5 团队分工 1.6 团队合照 1.7 团队特色 二、团队选题 2.1 Git仓库:https://github.com/gdut-very-good 2.2 项目名称:海岛漂流 2.3 项目介绍 2.4 项目阐述 三、团队计划 3.1 worktile计划 3.2 时间表 四、成员贡献分规则 4.1 绩效考核因素 4.2 贡献分计算方法 一、团队展示 1.1 队名: 歪瑞古德小队 歪瑞古德是 英文very good的谐音 ,象征着这是一只很棒的队伍! 1.2 队员信息 黄钰朝 :3118005005(队长) 黄煜淇 :3118004962 陈宇 :3118004999 丘丽珊 :3218007877 余圣源 :3118004982 张文俊 :3118004986 1.3 项目描述 海岛漂流 ,一款以信会友的 匿名游戏化社交 应用 1.4 队员风采 黄钰朝 风格:喜欢研究原理,喜欢创新,注重代码规范 自身技能:Java后台开发 宣言:希望跟大家一起做出有趣又有用的产品 软工角色:PM&开发 丘丽珊 风格:无欲无求,随心写码 自身技能:擅长魔法 宣言:我永远喜欢牧濑红莉牺!!! 软工角色:瞎几把设计&划水开发 黄煜淇 风格:擅长于写bug,喜欢研究,但不要太枯燥 自身技能

软工团队项目之团队展示&选题(OnTime——S.L.N)

断了今生、忘了曾经 提交于 2020-04-26 17:02:30
软工团队项目之团队展示&选题(OnTime——S.L.N) 一、团队展示 队名:『S.L.N』即Seigelion——乃“攻城狮”之意。 队员学号:      团队项目描述:(项目名称:OnTime) 项目核心功能——对时间的一键智能规划摆脱了人们对同类型计划应用的固有印象和诟病、新颖而便捷实用; 而共享计划功能的诞生使得团队成员互相督促、实现高效办公成为可能。 队员风采:      团队的首次合照:      团队的特色: 团队中三人负责前端(包括一名UI),三人负责后台:结构明确、分工合理。 其中队长以及多名成员具有一定的项目经验,队员们能力和性格互补,是一支团结且潜力巨大的队伍。 二、团队选题 我们的选题是一个时间规划小程序: 实现对时间的一键智能规划摆脱了人们对同类型计划应用的固有印象和诟病、新颖而便捷实用; 而共享计划功能的诞生使得团队成员互相督促、实现高效办公成为可能。 预期用户量:1000+ 项目阐述: 真实 项目选题务实,着眼于社会主流人群——学生及工作者的的日常应用场景;    可用 项目以生成个人计划为核心功能模块,通过让用户输入一系列子任务及其限制时间等,建立相应计划表。 有价值 通过多种可选算法智能地帮助用户安排计划中子任务的顺序, 使日程计划类程序向着“节约用户的脑力和时间去做更有意义的事”的“傻瓜式”智能应用更进了一步。     有情怀

20165320 2017-2018-2《Java程序设计》课程总结

馋奶兔 提交于 2020-04-26 14:46:54
20165320 2017-2017-2《Java程序设计》课程总结 一、每周作业链接汇总 1、我期待的师生关系 20165320 我期望的师生关系 2、学习基础和C语言基础调查 20165320 预备作业2:技能学习心得与C语言学习 3、linux安装及学习 20165320 预备作业3 :Linux安装及命令入门 4、git入门教学 20165320 第一周学习总结 5、JAVA基本语法 20165320 第二周学习总结 6、JAVA对象与类及封装 20165320 第三周学习总结 7、JAVA继承与接口 20165320 第四周学习总结 8、内部类与异常类、输入输出流 20165320 第五周学习总结 9、常用实用类、泛型与集合框架 20165320 第六周学习总结 10、JDBC与MySQL数据库 20165320 第七周学习总结 11、JAVA多线程机制 20165320 第八周学习总结 12、JAVA网络编程 20165320 第九周学习总结 二、自认为写得最好一篇博客是?为什么? 20165320 Java实验三:敏捷开发与XP实践 原因:最注重细节 三、作业中阅读量最高的一篇博客是?谈谈经验 20165320 预备作业2:技能学习心得与C语言学习 四、作业中与师生交互最多的一篇博客是?谈谈收获 同上,老师给我指点了有关可控能力理解。 五、实验报告链接汇总

feilong's blog | 目录

懵懂的女人 提交于 2020-04-26 09:10:57
0x01 工具/技术 工具 工具(1): 极简Word排版示例(Example by Word2013) <span style="color:green">工具(2): 极简MarkDown排版介绍(How to)</span> 工具(3): 转换Excel表格到MarkDown:exceltk <span style="color:green">工具(4): Git自助手册</span> 工具(5): 极简开发文档编写(How-to) 工具(6): 开发神器 <span style="color:green">软工+C(9): 助教指南,持续更新...</span> 技术的极限 技术的极限(1): 从编程开始 技术的极限(2): 概念应该基于事实 技术的极限(3): 像科学家一样思考 技术的极限(4): 解决不可靠的网络的挑战 技术的极限(5): 识别计算与技术背后的心智 <span style="color:green">技术的极限(6): 密码朋克精神(Cypherpunk Spirit)</span> 技术的极限(7): 处理复杂与分层 技术的极限(8): 集成与分离 0x02 计算机与数学/随笔 证明与计算 证明与计算(1): Decision Problem, Formal Language L, P and NP 证明与计算(2): 离散对数问题(Discrete

《2019面向对象程序设计(java)课程学习进度条》

风格不统一 提交于 2020-04-26 09:00:03
《2019面向对象程序设计(java)课程学习进度条》 周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序阅读或编程任务 第一周 60/10 1/0 4 九九乘法表 第二周 200/45 2/0 6 java命令行和IDE两种方式下java程序开发的步骤,Eclispe集成开发环境下导入java源程序,java语言构造基本程序的数据类型,变量,运算符,各类表达式,输入输出,String类,StringBuilder类的用法, 第三周 100/30 0/0 4 java基本程序设计结构 第四周 300/60 1/1 5 类与对象的定义与使用 身份证年龄信息的程序编写 第五周 350/80 0/0 10 对象和类的学习 第六周 450/90 1/2 6 继承定义与使用、子类的定义要求,多态的概念和用法、抽象类 第七周 456/110 1/1 6 四种权限修饰符的使用特点,object类的常用api及用途、Arraylist类的定义方法及用法 第八周 350/120 1/3 4 接口的定义与使用、接口类的使用要求,程序回调设计模式,compareable接口用法,对象深层拷贝方法,Lambda表达式语法 第九周 200/50 0/0 10 接口的学习 第十周 460/220 1/2 8 异常、断言、和调试的技巧 小学生除法练习编程

20165218 2017-2018-2 《Java程序设计》课程总结

北慕城南 提交于 2020-04-26 08:04:49
20165218 2017-2018-2 《Java程序设计》课程总结 一、每周作业链接汇总 20165218 我期望的师生关系 20165218 学习基础和C语言基础调查 20165218 预备作业3 Linux安装及学习 20165218 2017-2018-2 《Java程序设计》第一周学习总结 20165218 2017-2018-2 《Java程序设计》第2周学习总结 20165218 2017-2018-2 《Java程序设计》第三周学习总结 20165218 2017-2018-2 《Java程序设计》第四周学习总结 第四周选做作业 《Java程序设计》第五周学习总结 20165218 2017-2018-2 20165218 2017-2018-2 《Java程序设计》第六周学习总结 20165218 2017-2018-2 《Java程序设计》第7周学习总结 20165218结对编程练习-四则运算 20165218 2017-2018-2 《Java程序设计》第8周学习总结 自认为写得最好一篇博客是?为什么? 个人认为写得最好的一篇是 20165218 2017-2018-2 《Java程序设计》第四周学习总结 。因为条目清晰,内容丰富,对上周考试错题进行了详细的改正。 二、实验报告链接汇总 实验一 Java开发环境的熟悉 20165218 实验二

2018面向对象程序设计(Java)第11周学习指导及要求

自古美人都是妖i 提交于 2020-04-26 08:04:05
2018 面向对象程序设计( Java ) 第 11 周学习指导及要求 ( 2018.11.8-2018.11.11 ) 学习目标 (1) 掌握Vetor、Stack、Hashtable三个类的用途及常用API; (2) 了解java集合框架体系组成; (3) 掌握ArrayList、LinkList两个类的用途及常用API。 (4) 了解HashSet类、TreeSet类的用途及常用API。 (5)了解HashMap、TreeMap两个类的用途及常用API; (6) 结对编程(Pair programming)练习,体验程序开发中的两人合作。 学习资源 1.教材第9章 2.第9章教学课件 3. corejava.zip 4. 实验十一任务书 学习任务 增补《面向对象程序设计课程学习进度条》第十一周数据; 完成实验十一; 将本周学习内容(包括实验内容)通过博客(随笔)发表,博客标题为“本人姓名/结对者姓名 《面向对象程序设计( java )》第十一周学习总结” 。 学习总结博文(两个同学都要写)要有关于结对编程过程的文字资料,要求每个结对编程练习程序包含下面4个部分: 1) 程序互测概述、心得; 2) 结对编程代码; 3) 结对程序运行功能界面截图; 4) 结对过程描述,提供两人在讨论、细化和编程时的结对照片(非摆拍)。 Deadline : 2018-11-11 17:00

Personal summary 个人总结

给你一囗甜甜゛ 提交于 2020-04-26 05:52:29
##一、请回望开学时的第一次作业,你对于软件工程课程的想象 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么? 总结这门课程的实践总结和给你带来的提升,包括以下内容: ###1)统计一下,你在这门课程中,完成了多少行的代码; 在这门课程中我们组做的是制作网站,花费了大量的时间在代码编写上,所以我大概估计了一下我的代码量,只是估计哈,毕竟谁会去数这东西。我的代码量最少也得有上千行吧 ###2)软工的各次作业分别花了多少时间?(做一个列表) 其实这个我是真的不想答,没啥意义。但是既然老师想知道,那就蛮大概说一下吧。 | :------------------------------- | :----------------------------------- | |软工网络15个人阅读作业1 |0.5| |软工网络15结对编程练习 |10| |软工网络15个人阅读作业2——提问题 |2.5| |软工网络15团队作业1——团队组队&展示 |1| |软工网络15个人作业3——案例分析 |4| |团队作业3——需求分析与设计 |6| | 团队作业2——团队计划 |2| |软工网络15Alpha阶段敏捷冲刺 |60| |团队作业6——展示博客| 2| |团队作业5—