原文地址:http://jm-blog.aliapp.com/?p=934

一个公司大了,总有部分人要去做一些通用的东西给大家用,我这里说的基础产品就是这类通用性质的东西,不一定高科技,但是一定很多人依赖你的东西来完成各种各样的功能。做这样的东西,有些体会可以说下。

首先,能集中存储的,就不要分布存储,数据集中存储有单点的危险,但是比之分布式存储带来的复杂度不可同日而语。况且集中式的存储也可以利用各种机制做备份,所谓单点风险远没有想象中那么大。

其次,能利用开源框架的,就不要重复造轮子。程序员都喜欢造轮子,但是造轮子的周期长,并且不一定造的更好。在强调开发效率的互联网时代,如果能直接利用现有框架组装出你想要的东西,迅速占领市场,比你造的高性能、高可用、高科技的轮子更实用。这个跟做新产品开发有点类似,迅速组装,高效开发,然后再想办法改进。

第三,要文本,不要二进制。协议要文本化,配置要文本化。不要担心性能,在可见的时间里,你基本不会因为文本化的问题遇到性能瓶颈。

第四,要透明,不要黑盒。基础产品尤其需要对用户透明,你的用户不是小白用户,他们也是程序员,而程序员天生对黑盒性质的东西充满厌恶,他们总想知道你的东西背后在做什么,这对于查找问题分析问题也很重要。怎么做到透明呢?设计,统计,监控,日志等等。

第五,要拥抱标准,不要另搞一套。已经有了久经考验的HTTP协议,你就不要再搞个STTP,有了AMQP协议,你就不要再搞个BMQP。被广泛认可的标准是一些业界的顶尖专家制定出来的,他们早就将你没有考虑到的问题都考虑进去了。你自己搞的那一套,随着时间推移你会发现跟业界标准越来越像,因为面对的问题是一样的。使用标准的额外好处是,你有一大堆可用的代码或者类库可以直接使用,特别是在面对跨语言的时候。

第六,能Share nothing,就不要搞状态复制。无状态的东西是最可爱的,天然的无副作用。水平扩展不要太容易。

第七,要将你的系统做的越不“重要”越好,如果太多的产品依赖你的系统,那么当你的系统故障的时候,整个应用就完蛋了。我们不要担这个责任,我们要将系统做的越来越“不重要”,别人万一没了你也能重启,也能一定时间内支撑正常的工作。

第八,要专注眼前,适当关注未来。有远见是好事,但是太多远见就容易好高骛远。为很小可能性设计的东西,没有机会经历实际检验,当故障真的发生的时候,你也不可能完全信赖它。更好的办法是将系统设计得可介入,可在紧急情况下人工去介入处理,可介入是不够的,还要容易介入。

第九,不要对用户有假设,假设你的用户都是smart programmer,假设你的用户不需要位运算,假设你的用户要同步不要异步。除非你对这个领域非常熟悉并实际使用过类似的东西,否则还是不要假设。

第十,咳咳,似乎没有第十了,一大早憋了这么篇无头无脑的Blog,大伙将就看看。

转载于:https://www.cnblogs.com/tommyli/p/3732349.html

做基础产品的体会【转载】相关推荐

  1. 做一个快乐的产品经理

    临时应景,应草根帮主之邀,让我讲一下产品方面的东东,接到这个任务都有点发愁,其实产品也没啥好讲的,于是匆匆码了下面的一些文字,结果PPT没准备好,最后寥寥几句囫囵收场.O(∩_∩)O哈哈~ 前言: 产 ...

  2. 【zhailu】国外产品经理到底在做些什么?【转载内容】

    产品经理在国内可以算是比较新兴的行业.起步晚.环境不同,自然有所需.有所缺. 一开始接触,就感觉,这是要把product从无到有培育起来,--这个product的PM似乎与project的PM雷同只是 ...

  3. 产品经理之转载马化腾:改掉这七点,让产品自己说话_36氪

    马化腾先生被认为是国内最好的产品经理之一.在他看来好的产品是有灵魂的,优美的设计.技术.运营都能体现背后的理念,一款好产品也是可以主动吸引用户来使用的.而打造出一款好产品并不是一件容易的事,究其原因多 ...

  4. 射灯安装方法图解_客厅适合用射灯做基础照明吗?又该如何布灯?

    广告 很多人家中的客厅往往只装有一个吸顶灯.吊灯作为基础照明,希望用最少的灯具.最便宜的方式达到生活所需要的亮度,就能走路.看电视. 只装主灯的方法固然高效便宜,但是缺点却显而易见,不仅会显得空间很平 ...

  5. 产品设计体会(9000)人人都是产品经理,系列说明

    决定把9000系列用起来了,起名叫做"人人都是产品经理",形式上是每天一句话的产品设计体会.作为一头产品设计师,做任何事都会用产品设计的思路,现在剖析如下. Ø 战略层面: n 从 ...

  6. 张小龙谈如何做将产品做简单转自雷锋网

    编者按:张小龙某次在腾讯内部讲课的内容.商业价值主笔夏勇峰/整理 完整内容如下: more 今天从一个小故事开始讲:为什么苹果的手机只有一个按钮? (台下:我觉得对于用户来说,只有一个按钮不会有太多的 ...

  7. 产品设计体会(2015)一次无意识的“事件+病毒营销”

    虽然我做很多事情都是事先有计划的,但这次不经意的"事件营销 + 病毒营销 ",完全是无意识的行为.缘起是 2009 年 10 月 26 日晚上,我在博客上发布了一个小故事: 关键词 ...

  8. 字节跳动为什么做一个产品火一个?

    字节跳动的名字起的好,好名字也是公司愿景的体现 说到字节跳动不知道的人可能很多,但如果说到今日头条.抖音APP.火山小视频等这些产品,大家几乎都耳熟能详,并且一旦注册使用基本都是重度使用用户.而所有这 ...

  9. 数据蒋堂 | 做基础软件要投入很多钱?

    作者:蒋步星 来源:数据蒋堂 本文共1100字,建议阅读8分钟. 看起来还真是,似乎还要再加大投入才行? 现在有个说法,国家对基础软硬件的投入太少,经常会说微软.Oracle.Intel这些巨头每年的 ...

最新文章

  1. shell中各种括号的作用
  2. 161026、更快速将你的页面展示给用户[前端优化篇]
  3. MySQL服务器学习笔记!(二) ——数据库各项操作
  4. Android中WebView加载sdcard中的html显示
  5. 视频 + PPT 下载 | 挣脱流量束缚,社交电商的未来在哪里?
  6. micropython中文社区 socket通讯_基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)...
  7. Site Definition和Web Template的区别
  8. jQuery分页插件
  9. python装饰器_Python基础-装饰器
  10. 为什么南昌.NET没有QQ群?
  11. C++socket编程(八):8.1 UDP讲解,用户数据报协议
  12. ARP解决方法/工具+真假ARP防范区别方法+ARP终极解决方案
  13. 一套键鼠控制多台电脑的使用方法,快收藏
  14. Unity3D开发工具介绍
  15. jquery所有版本下载
  16. Zynga发布魔法三消手游《Harry Potter: Puzzles Spells》
  17. 前端工作日记day2
  18. WPS Office应用大全
  19. 云计算的未来:看「泛在计算」如何促进数字化生态和计算网络融合
  20. Docker入门指令

热门文章

  1. VSCode打开终端的快捷键
  2. 句句真研—每日长难句打卡Day13
  3. 纸质书,电子书,你会选择通过哪一种途径学习?
  4. 小孤山旁边长江江面很窄
  5. 肌肉男比常人多了哪些烦恼?
  6. 让孩子见世面,到底有多重要
  7. 在职场,没有永远的朋友,也没有永远的敌人,因为只有利益
  8. 任老爷子退休以后,华为谁最有可能接手,为什么?
  9. 谷歌浏览器怎么查找和改变编码格式
  10. uni-app中image组件的基本使用