❶ 如何从上市公司的年度报告中分析公司股票的投资价值
www.gz500.com的《股票估值500·个股报告》每月提供170家上市公司估值报告。受到投资者的一致好评。
“君亮估值报告是我们目前所看到的最简明、最有效、也最好使用的投资工具,在投资信息提供上是一个革命的进步。筛选好机会,没这么麻烦了。”
——肖元 原《股市动态》杂志总编
“《君亮估值500》的严谨性、系统性和第三方独立性,在中国目前是稀缺的。使用也好方便。”
——陈力《证券时报》总编室主任
“君亮估值将公司按成长动能和安全性分类,有了区分,好股票在一堆,不好的在一堆,又有估值,是很好的参考,方便很多。”
——张驰 光大证券深南大道营业部 总经理
“君亮估值的估值方法按复合成长理论做基础,科学、符合逻辑、符合股市的实际运动。”
——魏辉 中山证券理财顾问中心总经理
“我们的朋友李朝晖在用,我跟了一段,非常好。我大学学的是财务,以前在银行做事,越看越觉得里面的分析和数据及归类,都讲得通,令人信服。所以,我最近也成了《君亮估值500》的订户。”
——熊艳 红袖添香茶艺坊主人
“君亮估值真正向人们讲明了价值加成长的估值方法。JW四点买入法使投资时区位清楚,如同线路图。”
——邓丹 华龙证券重庆分公司客服总监
“建议每一位基金经理都使用《君亮估值报告》。”
——周文亮 《证券时报》基金部主任
“平时很忙,看不过来太多东西,有时就miss一些机会。《君亮估值500》使我2、3分钟就能了解一家公司,一下子就看见许多以前根本无法了解的宝贝。这就跟美国的value line一样,巴菲特称value line为投资者的圣经。我已向不少朋友推荐了《君亮估值500》。”
——Kevin 苏 美林证券亚洲资本市场部副总裁
“想不到大陆有这么好的投资报告,《君亮估值》使我们了解大陆的股市好容易了。”
——姚兴红 新鸿基金融集团 高级副总裁
❷ miss币是什么币, 这个币天天掉 还能涨吗 看不到盼头亏死了
就因为比特币火了,大赚,然后一堆骗子币就出来了,没听过这个币,不过如果是国产的,那多半是传销,中国不承认数字货币,也不支持数字货币。
❸ 如何估值股票
股票估值是一个相对复杂的过程,影响的因素很多,没有全球统一的标准,分为绝对估值、相对估值和联合估值。
一、绝对估值 绝对估值是通过对上市公司历史及当前的基本面的分析和对未来反应公司经营状况的财务数据的预测获得上市公司股票的内在价值。
绝对估值的方法:一是现金流贴现定价模型,二是B-S期权定价模型(主要应用于期权定价、权证定价等)。现金流贴现定价模型目前使用最多的是DDM和DCF,而DCF估值模型中,最广泛应用的就是FCFE股权自由现金流模型。
绝对估值的作用:股票的价格总是围绕着股票的内在价值上下波动,发现价格被低估的股票,在股票的价格远远低于内在价值的时候买入股票,而在股票的价格回归到内在价值甚至高于内在价值的时候卖出以获利。
对上市公司进行研究,我们经常听到估值这个词,说的其实是如何来判断一家公司的价值同时与它的当前股价进行对比,得出股价是否偏离价值的判断,进而指导我们的投资。
DCF是一套很严谨的估值方法,是一种绝对定价方法,想得出准确的DCF值,需要对公司未来发展情况有清晰的了解。得出DCF 值的过程就是判断公司未来发展的过程。所以DCF 估值的过程也很重要。就准确判断企业的未来发展来说,判断成熟稳定的公司相对容易一些,处于扩张期的企业未来发展的不确定性较大,准确判断较为困难。再加上DCF 值本身对参数的变动很敏感,使DCF 值的可变性很大。但在得出DCF 值的过程中,会反映研究员对企业未来发展的判断,并在此基础上假设。有了DCF 的估值过程和结果,以后如果假设有变动,即可通过修改参数得到新的估值。
二、相对估值 相对估值是使用市盈率、市净率、市售率、市现率等价格指标与其它多只股票(对比系)进行对比,如果低于对比系的相应的指标值的平均值,股票价格被低估,股价将很有希望上涨,使得指标回归对比系的平均值。
相对估值包括PE、PB、PEG、EV/EBITDA等估值法。通常的做法是对比,一个是和该公司历史数据进行对比,二是和国内同行业企业的数据进行对比,确定它的位置,三是和国际上的(特别是香港和美国)同行业重点企业数据进行对比。
市盈率PE(股价/每股收益):PE是简洁有效的估值方法,其核心在于e 的确定。PE=p/e,即价格与每股收益的比值。从直观上看,如果公司未来若干年每股收益为恒定值,那么PE 值代表了公司保持恒定盈利水平的存在年限。这有点像实业投资中回收期的概念,只是忽略了资金的时间价值。而实际上保持恒定的e 几乎是不可能的,e 的变动往往取决于宏观经济和企业的生存周期所决定的波动周期。所以在运用PE 值的时候,e 的确定显得尤为重要,由此也衍生出具有不同含义的PE 值。E 有两个方面,一个是历史的e,另一个是预测的e。对于历史的e 来说,可以用不同e 的时点值,可以用移动平均值,也可以用动态年度值,这取决于想要表达的内容。对于预测的e 来说,预测的准确性尤为重要,在实际市场中,e 的变动趋势对股票投资往往具有决定性的影响。
市净率PB(股价/每股净资)和净资产收益率ROE:PB &ROE适合于周期的极值判断。对于股票投资来说,准确预测e 是非常重要的,e 的变动趋势往往决定了股价是上行还是下行。但股价上升或下降到多少是合理的呢? PB&ROE 可以给出一个判断极值的方法。比如,对于一个有良好历史ROE 的公司,在业务前景尚可的情况下,PB 值低于1就有可能是被低估的。如果公司的盈利前景较稳定,没有表现出明显的增长性特征,公司的PB 值显著高于行业(公司历史)的最高PB 值,股价触顶的可能性就比较大。这里提到的周期有三个概念:市场的波动周期、股价的变动周期和周期性行业的变动周期。这里的PB 值也包括三种:整个市场的总体PB 值水平、单一股票的PB 值水平和周期性行业的PB 值变动。当然,PB 值有效应用的前提是合理评估资产价值。
提高负债比率可以扩大公司创造利润的资源的规模,扩大负债有提高ROE 的效果。所以在运用PB &ROE 估值的时候需考虑偿债风险。
PEG估值法是一代宗师彼得·林奇最爱用的一种估值方法。非常简单实用!方法如下:
个股动态市盈率除以税后利润增长率小于0。8 的将具有一定的投资价值。但是这种方法对周期性行业参考意义不大。所以大家要注意行业选择使用!
通过研究可以发现,商品价格周期性变动的行业,其盈利对商品价格的变动最为敏感。所以,商品价格上升时是确定的投资时机。预期商品价格下降时则是卖出时机。在周期的高点和低点的时候,可以用其他方法来判断是否高估或者低估。比如,用PB (ROE)等方法判断是否被低估。对于资源类公司,在周期底部的时候可以用单位股票资源价值作为投资的底限。在周期的上升或者下降的阶段,主要参考资源价格的变动趋势。
建立在准确盈利预测基础上的PE 值是一种简洁有效的估值方法。估值方法之间存在相互联系,盈利预测是一切的基础,但还不够,需要综合使用几种估值方法来降低风险。研究报告基地,最全面的上市公司研究报告
三、联合估值 联合估值是结合绝对估值和相对估值,寻找同时股价和相对指标都被低估的股票,这种股票的价格最有希望上涨。
❹ bubble transfer missing 是什么意思
气泡转换代码丢失
❺ 网上投资股票怎么弄才能挣钱
股票现在都是在网上交易的,基本上没有营业厅手填委托单、现场交易的了;挣钱的办法旧时高抛低吸做差价,把握得好就能赚钱;祝你好运!
❻ 法人自然人股票开户有什么区别
机构开户与个人开户在开户的流程与所需资料方面有一些不同,开户以后的交易没有什么区别,在银行资金与证券账户的划转上面有所区别,个人转帐都是通过交易系统进行转账的,到机构账户许多银行都是要到银行柜台进行转账的,少数银行可以通过网银进行转账!
个人A股新开户:
携带材料:身份证、银行卡(银行卡去银行连三方用,没有银行卡可去银行办三方时新开)、开户费:上海账户40元、深圳账户50元
股票开户流程如下:本人携带本人身份证和银行卡至证券营业部开立账户→携带营业部出具的表单至银行开立三方存管(有些银行可不去银行柜面办理,券商端可直接办理具体可咨询工作人员)→软件下载
境内机构开户人请提供以下资料:
1、营业执照或注册登记证书原件及复印件,或加盖发证机关确认章的复印件;
2、法定代表人证明书;
3、法定代表人授权委托书;
4、法定代表人身份证复印件;
5、经办人身份证原件及其复印件;
开户人在交易时间(9:00-11:30,13:00-15:00)到证券营业网点业务柜台办理包括上海、深圳的股东帐户及资金帐户的开户手续。
上海股东帐户开户费机构400元;深圳股东帐户开户费机构500元。
电话咨询:4001518369
参考资料:http://sh.gtja.com/sh/wykh.jsp
❼ likemisslikelove什么意思
融资是向机构借钱用于买入股票,融券是向机构借入股票卖出。融资到期时归还资金,融券到期时归还之前借入的股票。融券就使买跌成为可行,如果看空某只股票,则可以先融券借入该股票卖出,股价下跌后买入并返还后赚取剩余的差价。
❽ 根据β的含义,如果某种股票的系数等于1,那么()
是不是多选题啊,我怎么感觉是ABCD呢。。。
❾ 罗百吉 《i miss you》 mv的女主角是谁啊
那个女的是rain的师妹star
本名:金高恩
出生日:1983年10月22日
身高:163cm, 48公斤
血型:A型
兴趣:看电影,听音乐,写字,看漫画
座右铭:要做一个问心无愧的人
〔专辑情报〕
2002年10月12日32日专辑发行
2004年7月参与〔浪漫满屋〕OST的录制
2005年3月第二张专辑发行
星出生在忠南西山里.。3年参加了朴志胤的歌迷见面会,没有按照顺序演唱了她的一首“乱”从而加入了JYP社团. 比现在成为当红明星的雨晚进入进JYP二个月。
在正式准备专辑时,高三时转到汉城的学校了. 然后,很容易地考上了同德女子大学学校应用音乐科. 当时初次登台石才刚满19岁.以1,63㎝的小身体考上同德女子大学学校应用音乐科.有特别大眼睛的少女. 一口忠清道的本地方言. 起名为星.
星2002年出道的专辑名为 `12月32日'. 一听到她的歌曲紧张感瞬间就会消失.圆润的嗓音刺激着全身的感觉. 只有惊叹“太了不起了”. 首发专辑`12月32日'一推出就打入了排行榜.说是会听到略有不稳定的声调和节拍,还有咽唾沫的声音等感觉像是现场表演,但正是为了这种感觉直接把母带收录的歌曲放进了专辑里边. 最近不知道她的人也开始关注起她来.
“别走”“不能忘记'都是由她亲自作词演唱的。这个对为数不多的女子自编自长型歌手来讲,我们能看到她成长的可能性。通过两年来给朴志胤制作打榜歌曲的练习,无论是歌唱力还是运气,到在歌的一部分中开始很好地运用音乐感觉,因此对于星不能不关注.
2002年末星初次亮相,正值股票价格上扬的当时,他爸爸在接受健康诊察中不幸遇到医疗事故而处于昏迷状态,使得他在第一张专辑和第二张专辑之间出现了空白期. 经历了家庭事故的他在时隔两年时的专辑里加入了对爸爸来说我就是永恒的星的这样一层意义,变得更加成熟。
再次用很好地表现出微妙感情的嗓音做好对未来的觉悟
❿ 如何通过雪球查询股票之前的变动状况
一. 雪球公司介绍
雪球 聪明的投资者都在这里。
web 1.0:新闻资讯,股价信息,K线图
web 2.0:SNS 订阅,分享,聊天
web 3.0:移动 APP,交易闭环
雪球现在员工数还不到100,其中技术人员占一半。去年9月C轮融资4kw刀。我们现在的技术栈由下列组件组成:Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoop。我们当前是租用IDC机房自建私有云,正在往“公私混合云”方向发展。
在雪球上,用户可以获取沪深港美2w+股票的新闻信息,股价变化情况,也可以获取债券,期货,基金,比特币,信托,理财,私募等等理财产品的各类信息,也可以关注雪球用户建立的百万组合,订阅它们的实时调仓信息,还可以关注雪球大V。雪球当前有百万日活跃用户,每天有4亿的API调用。App Store 财务免费榜第 18 名。历史上曾排到财务第二,总免费榜第 19。
二. 雪球当前总体架构
作为一个典型的移动互联网创业公司,雪球的总体架构也是非常典型的设计:
最上层是三个端:web端,android端和iOS端。流量比例大约为 2:4:4 。web3.0 的交易功能,在 web 端并不提供。
接入层以及下面的几个层,都在我们的自建机房内部。雪球当前只部署了一个机房,还属于单机房时代。正在进行“私有云+公有云混合部署”方案推进过程中。
我们当前使用 nodejs 作为 web 端模板引擎。nodejs 模块与android 和 ios 的 app 模块一起属于大前端团队负责。
再往下是位于 nginx 后面的 api 模块。跟 linkedin 的 leo 和微博的 v4 一样,雪球也有一个遗留的大一统系统,名字就叫 snowball 。最初,所有的逻辑都在 snowball 中实现的。后来慢慢的拆出去了很多 rpc 服务,再后来慢慢的拆出去了一些 http api 做成了独立业务,但即便如此,snowball 仍然是雪球系统中最大的一个部署单元。
在需要性能的地方,我们使用 netty 搭建了一些独立的接口,比如 quoto server,是用来提供开盘期间每秒一次的股价查询服务,单机 qps 5w+,这个一会再细说;而 IM 服务,起初设计里是用来提供聊天服务,而现在,它最大的用途是提供一个可靠的 push 通道,提供 5w/s 的消息下发容量,这个也一会再细说。
雪球的服务化拆分及治理采用 twitter 开源的 finagle rpc 框架,并在上面进行了一些二次开发和定制。定制的功能主要集中在 access log 增强,和 fail fast,fail over 策略及降级开关等。 finagle 的实现比较复杂,debug 和二次开发的门槛较高,团队内部对此也进行了一些讨论。
雪球的业务比较复杂,在服务层中,大致可以分为几类:第一类是web1.0,2.0 及基础服务,我们称为社区,包括用户,帖子,新闻,股价,搜索等等,类比对象就是新浪财经门户+微博;第二类是组合及推荐,主要提供股票投资策略的展示和建议,类比对象是美国的motif;第三类是通道,类似股市中的“支付宝”,接入多家券商,提供瞬间开户,一键下单等等各种方便操作的功能。
雪球的业务实现中,包含很多异步计算逻辑,比如搜索建索引,比如股票涨跌停发通知,比如组合收益计算等等,为此,我们设计了一个独立的 Thread/Task 模块,方便管理所有的后台计算任务。但随着这些 task 越来越多,逻辑差异越来越大,一个统一的模块并不是总是最佳的方案,所以,我们又把它拆成了两大类:流式的,和批量式的。
雪球的推荐体系包括组合推荐“买什么”和个性化推荐。我们最近正在重新梳理我们的大数据体系,这个感兴趣的话可以单聊。
最下面是基础设施层。雪球基础设施层包括:redis,mysql,mq,zk,hdfs,以及容器 docker。
线上服务之外,我们的开发及后台设施也很典型:gitlab开发,jenkins打包,zabbix 监控系统向 openfalcon 迁移,redimine向confluence迁移,jira,以及内部开发的 skiing 后台管理系统。
** 三. 雪球架构优化历程**
首先描述一下标题中的“股市动荡”定语修饰词吧:
上证指数从年初的3000点半年时间涨到了5000多,6月12号达到最高点5200点,然后就急转直下,最大单日跌幅 8.48%,一路跌回4000点以下。最近一周都在3900多徘徊。
3月最后一周,A股开户 166万户,超过历史最高纪录 2007年5月第二周165万户。
4月份,证监会宣布A股支持单用户开设多账户。
6月底,证金公司代表国家队入场救市。
7月份,证监会宣布严打场外配资。
中国好声音广告第一晚,带来超过平时峰值200倍的注册量
挑战:小 VS 大:
小:小公司的体量,团队小,机器规模小
大:堪比大公司的业务线数量,业务复杂度,瞬间峰值冲击
雪球的业务线 = 1个新浪财经 + 1 个微博 + 1 个 motif + 1 个大智慧/同花顺。由于基数小,API调用瞬间峰值大约为平时峰值的 30+ 倍。
挑战:快速增长,移动互联网 + 金融,风口,A股大盘剧烈波动。
首先,在app端,在我们核心业务从 web2.0 sns 向 3.0 移动交易闭环进化的过程中,我们开发了一个自己的 hybrid 框架:本地原生框架,加离线 h5 页面,以此来支撑我们的快速业务迭代。当前,雪球前端可以做到 2 周一个版本,且同时并行推进 3 个版本:一个在 app store 等待审核上线,一个在内测或公测,一个在开发。我们的前端架构师孟祥宇在今年的 wot 上有一个关于这方面的详细分享,有兴趣的可以稍后再深入了解。
雪球App实践—构建灵活、可靠的Hybrid框架 http://wot.51cto.com/2015mobile/ http://down.51cto.com/data/2080769
另外,为了保障服务的可用性,我们做了一系列的“端到端服务质量监控”。感兴趣的可以搜索我今年4月份在环信SM meetup上做的分享《移动时代端到端的稳定性保障》。其中在 app 端,我们采用了一种代价最小的数据传输方案:对用户的网络流量,电池等额外消耗几乎为0
每个请求里带上前一个请求的结果
succ or fail : 1 char
失败原因:0 - 1 char
请求接口编号: 1 char
请求耗时:2 - 3 char
其它:网络制式,etc
炒股的人大多都会盯盘:即在开盘期间,开着一个web页面或者app,实时的看股价的上下跳动。说到“实时”,美股港股当前都是流式的数据推送,但国内的A股,基本上都是每隔一段时间给出一份系统中所有股票现价的一个快照。这个时间间隔,理论上是3秒,实际上一般都在5秒左右。 交了钱签了合同,雪球作为合作方就可以从交易所下属的数据公司那里拿到数据了,然后提供给自己的用户使用。
刚才介绍总体架构图的时候有提到 quote server ,说到这是需要性能的地方。
业务场景是这样的,雪球上个人主页,开盘期间,每秒轮询一次当前用户关注的股票价格变动情况。在内部,所有的组合收益计算,每隔一段时间需要获取一下当前所有股票的实时价格。起初同时在线用户不多,这个接口就是一个部署在 snowball 中的普通接口,股价信息被实时写入 redis ,读取的时候就从 redis 中读。后来,A股大涨,snowball 抗不住了。于是我们就做了一个典型的优化:独立 server + 本地内存存储。开盘期间每次数据更新后,数据接收组件主动去更新 quote server 内存中的数据。 后续进一步优化方案是将这个接口以及相关的处理逻辑都迁移到公有云上去。
对于那些不盯盘的人,最实用的功能就是股价提醒了。在雪球上,你除了可以关注用户,还可以关注股票。如果你关注的某只股票涨了或跌了,我们都可以非常及时的通知你。雪球上热门股票拥有超过 50w 粉丝(招商银行,苏宁云商)粉丝可以设置:当这支股票涨幅或跌幅超过 x%(默认7%)时提醒我。曾经连续3天,每天超过1000股跌停,证监会开了一个会,于是接下来2天超过1000股涨停
原来做法:
股票涨(跌)x%,扫一遍粉丝列表,过滤出所有符合条件的粉丝,推送消息
新做法:
预先建立索引,开盘期间载入内存
1%:uid1,uid2
2%:uid3,uid4,uid5
3%:uid6
问题:有时候嫌太及时了:频繁跌停,打开跌停,再跌停,再打开。。。的时候
内部线上记录:
4台机器。
单条消息延时 99% 小于 30秒。
下一步优化目标:99% 小于 10 秒
IM 系统最初的设计目标是为雪球上的用户提供一个聊天的功能:
送达率第一
雪球IM:Netty + 自定义网络协议
Akka : 每个在线client一个actor
推模式:client 在线情况下使用推模式
多端同步:单账号多端可登录,并保持各种状态同步
移动互联网时代,除了微信qq以外的所有IM,都转型成了推送通道,核心指标变成了瞬间峰值性能。原有架构很多地方都不太合适了。
优化:
分配更多资源:推送账号actor池
精简业务逻辑:重复消息只存id,实时提醒内容不推历史设备,不更新非活跃设备的session列表等等
本地缓存:拉黑等无法精简的业务逻辑迁移到本地缓存
优化代码:异步加密存储,去除不合理的 akka 使用
akka这个解释一下:akka 有一个自己的 log adapter,内部使用一个 actor 来处理所有的 log event stream 。当瞬间峰值到来的时候,这个 event stream 一下子就堵了上百万条 log ,导致 gc 颠簸非常严重。最后的解决办法是,绕过 akka 的 log adapter,直接使用 logback 的 appender
线上记录:5w/s (主动限速)的推送持续 3 分钟,p99 性能指标无明显变化
7月10号我们在中国好声音上做了3期广告。在广告播出之前,我们针对广告可能带来的对系统的冲击进行了压力测试,主要是新用户注册模块,当时预估广告播出期间2小时新注册100万
压测发现 DB 成为瓶颈:
昵称检测 cache miss > 40%
昵称禁用词 where like 模糊查询
手机号是否注册 cache miss > 80%
注册新用户:5 insert
优化:
redis store:昵称,手机号
本地存储:昵称禁用词
业务流程优化:DB insert 操作同步改异步
下一步优化计划:
将 sns 系统中所有的上行操作都改成类似的异步模式
接口调用时中只更新缓存,而且主动设置5分钟过期,然后写一个消息到 mq 队列,队列处理程序拿到消息再做其它耗时操作。
为了支持失败重试,需要将主要的资源操作步骤都做成幂等。
前置模块HA:
合作方合规要求:业务单元部署到合作方内网,用户的敏感数据不允许离开进程内存
业务本身要求:业务单元本身为有状态服务,业务单元高可用
解决方案:
使用 Hazelcast In-Memory Data Grid 的 replication map 在多个 jvm 实例之间做数据同步。
java 启动参数加上 -XX:+DisableAttachMechanism -XX:-UsePerfData,禁止 jstack,jmap 等等 jdk 工具连接
关于前置模块,其实还有很多很奇葩的故事,鉴于时间关系,这里就不展开讲了。以后有机会可以当笑话给大家讲。
组合净值计算性能优化:
一支股票可能在超过20万个组合里(南车北车中车,暴风科技)
离线计算,存储计算后的结果
股价3秒变一次,涉及到这支股票的所有组合理论上也需要每 3 秒重新计算一次
大家可能会问,为什么不用户请求时,实时计算呢?这是因为“组合净值”中还包括分红送配,分股,送股,拆股,合股,现金,红利等等,业务太过复杂,开发初期经常需要调整计算逻辑,所以就设计成后台离线计算模式了。当前正在改造,将分红送配逻辑做成离线计算,股价组成的净值实时计算。接口请求是,将实时计算部分和离线计算部分合并成最终结果。
实际上,我们的计算逻辑是比较低效的:循环遍历所有的组合,对每个组合,获取所有的价值数据,然后计算。完成一遍循环后,立即开始下一轮循环。
优化:
分级:活跃用户的活跃组合,其它组合。
批量:拉取当前所有股票的现价到 JVM 内存里,这一轮的所有组合计算都用这一份股价快照。
关于这个话题的更详细内容,感兴趣的可以参考雪球组合业务总监张岩枫在今年的 arch summit 深圳大会上的分享:构建高可用的雪球投资组合系统技术实践 http://sz2015.archsummit.com/speakers/201825
最后,我们还做了一些通用的架构和性能优化,包括jdk升级到8,开发了一个基于 zookeeper 的 config center 和开关降级系统
四. 聊聊关于架构优化的一些总结和感想
在各种场合经常听说的架构优化,一般都是优化某一个具体的业务模块,将性能优化到极致。而在雪球,我们做的架构优化更多的是从问题出发,解决实际问题,解决到可以接受的程度即可。可能大家看起来会觉得很凌乱,而且每个事情单独拎出来好像都不是什么大事。
我们在对一个大服务做架构优化时,一般是往深入的本质进行挖掘;当我们面对一堆架构各异的小服务时,“架构优化”的含义其实是有一些不一样的。大部分时候,我们并不需要(也没有办法)深入到小服务的最底层进行优化,而是去掉或者优化原来明显不合理的地方就可以了。
在快速迭代的创业公司,我们可能不会针对某一个服务做很完善的架构设计和代码实现,当出现各种问题时,也不会去追求极致的优化,而是以解决瓶颈问题为先。
即使我们经历过一回将 snowball 拆分服务化的过程,但当我们重新上一个新的业务时,我们依然选择将它做成一个大一统的服务。只是这一次,我们会提前定义好每个模块的 service 接口,为以后可能的服务化铺好路。
在创业公司里,重写是不能接受的;大的重构,从时间和人力投入上看,一般也是无法承担的。而“裱糊匠”式做法,哪里有性能问题就加机器,加缓存,加数据库,有可用性问题就加重试,加log,出故障就加流程,加测试,这也不是雪球团队工作方式。我们一般都采用最小改动的方式,即,准确定义问题,定位问题根源,找到问题本质,制定最佳方案,以最小的改动代价,将问题解决到可接受的范围内。
我们现在正在所有的地方强推3个数据指标:qps,p99,error rate。每个技术人员对自己负责的服务,一定要有最基本的数据指标意识。数字,是发现问题,定位根源,找到本质的最重要的依赖条件。没有之一。
我们的原则:保持技术栈的一致性和简单性,有节制的尝试新技术,保持所有线上服务依赖的技术可控,简单来说,能 hold 住。
能用cache的地方绝不用db,能异步的地方,绝不同步。俗称的:吃一堑,长一智。
特事特办:业务在发展,需求在变化,实现方式也需要跟着变化。简单的来说:遗留系统的优化,最佳方案就是砍需求,呵呵。