Category: Java Architecture

[转]一个牛逼的创业公司后台技术栈搭建方案 0

[转]一个牛逼的创业公司后台技术栈搭建方案

在大多数创业公司,因为没有大公司那些完善的基础设施,需要从开源界的一个个系统和组件做选型,最终形成整个的后台技术栈。 今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操作系统等等。 整个后台技术栈,我的理解包括四个层面的内容: 语言:用了哪些开发语言,如:C++/Java/Go/PHP/Python/Ruby 等等。 组件:用了哪些组件,如:MQ 组件,数据库组件等等。 流程:怎样的流程和规范,如:开发流程,项目流程,发布流程,监控告警流程,代码规范等等。 系统:系统化建设,上面的流程需要有系统来保证,如:规范发布流程的发布系统,代码管理系统等等。 结合以上的的 4 个层面的内容,整个后台技术栈的结构如图 2 所示: 图 2:后台技术栈结构 以上的这些内容都需要我们从零开始搭建,在创业公司,没有大公司那些完善的基础设施,需要我们从开源界,从云服务商甚至有些需要自己去组合,去拼装,去开发一个适合自己的组件或系统以达成我们的目标。 咱们一个个系统和组件的做选型,最终形成我们的后台技术栈。 各系统组件选型 项目管理/Bug 管理/问题管理 项目管理软件是整个业务的需求,问题,流程等等的集中地,大家的跨部门沟通协同大多依赖于项目管理工具。 有一些 SaaS 的项目管理服务可以使用,但是很多时间不满足需求,此时我们可以选择一些开源的项目,这些项目本身有一定的定制能力,有丰富的插件可以使用。 一般的创业公司需求基本上都能得到满足,常用的项目如下: Redmine:用 Ruby 开发的,有较多的插件可以使用,能自定义字段,集成了项目管理,Bug 问题跟踪,WiKi 等功能,不过好多插件 N 年没有更新了。 Phabricator:用 PHP...

[转]基于Spring Boot+Cloud构建微云架构 0

[转]基于Spring Boot+Cloud构建微云架构

前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多。 我的学习是先从Spring boot开始的,然后接触到微服务架构,当然,这一切最大的启迪还是感谢我的一个老师,是他给我指明了新的道路,让我眼前一亮,再次感谢。 Please follow and like us:0

[转]颠覆微服务认知:深入思考微服务的七个主流观点 0

[转]颠覆微服务认知:深入思考微服务的七个主流观点

微服务架构现在已经成为了企业应用架构的必聊话题,本文沉淀了作者多年工作的所见所闻和实战思考,跳出纯技术的视角去思考架构,去看待微服务,保证利用现有的技术(工具)实现业务价值的最大化。 Please follow and like us:0

[转]布谷鸟过滤器 0

[转]布谷鸟过滤器

为解决布隆过滤器不能删除元素的问题,布谷鸟过滤器横空出世。 论文《Cuckoo Filter:Better Than Bloom》作者将布谷鸟过滤器和布隆过滤器进行了深入的对比。 相比布谷鸟过滤器而言,布隆过滤器有以下不足: 查询性能弱 空间利用效率低 不支持反向操作(删除) 不支持计数。 Please follow and like us:0

[汇总]MySQL优化经验和理论 0

[汇总]MySQL优化经验和理论

两类非常隐蔽的全表扫描,不能命中索引 第一类:“列类型”与“where值类型”不符,不能命中索引,会导致全表扫描(full table scan)。 第二类:相join的两个表的字符编码不同,不能命中索引,会导致笛卡尔积的循环计算(nested loop)。 Please follow and like us:0

数据库连接池的大小与性能 0

数据库连接池的大小与性能

一、前言 基本上来说,大部分项目都需要跟数据库做交互,那么,数据库连接池的大小设置成多大合适呢? 一些开发老鸟可能还会告诉你:没关系,尽量设置的大些,比如设置成 200,这样数据库性能会高些,吞吐量也会大些! 你也许会点头称是,真的是这样吗?看完这篇文章,也许会颠覆你的认知哦! Please follow and like us:0