林仕鼎:火车票系统后面的架构设计 | 岭南六少 - 一朵在LAMP架构下挣扎的云



林仕鼎:火车票系统后面的架构设计 | 岭南六少 - 一朵在LAMP架构下挣扎的云

有点标题党,这回还是没想谈具体的火车票系统方案。我的观点是在没有详细数据、业务流程还有内部系统模型的情况下,直接设计方案容易水土不服。当然,有几个朋友比较有经验,已经给出了方案。方案都不错,挺实用的,想直接解决类似问题的朋友不妨直接参考那些设计。
我希望从普遍意义上说明一个在线系统设计时需要考虑的问题,可能这对有过一定经验的朋友才有用。如果你只是想看看如何写代码解决具体问题,则必然会觉得言之无物,不妨以后再读。如果在技术一途发展,慢慢地你终会感觉到,写些代码或解决某个具体问题并不是最难的。另外,列出一些专业词汇,不是为了卖弄,目的是更清晰定义和准确说明。
开发一个能支持一定用户规模的在线服务并不难,但要做好,必须在业务逻辑和系统架构两方面下功夫。业务逻辑方面需增强的主要是快速开发与功能迭代的支持。根据需求(来自客户或产品经理)实现功能只完成了基础部分,在线服务必然会有大量的功能升级,如何以最小代价支持千奇百怪的升级要求将成为最主要的难题。解决方法则是通过合理的功能抽象,提取出公共组件和通用流程,进行最大化的复用。我们也可以称其为软件架构的可维护性问题,其实这也是传统的企业级开发最重要的问题。

Read full article from 林仕鼎:火车票系统后面的架构设计 | 岭南六少 - 一朵在LAMP架构下挣扎的云


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts