• JAVA架构的演变介绍


    什么是架构

    1、对系统进行有序化重构

    2、分与合的过程

      横向的(水平)  水平分表,数据分到多个表里面,比如1000w数据 ,拆分成多个小表数据

      纵向的(垂直)  列数比较多的表,拆分成多个小表存储不通数据

      大的系统 --> 拆分成很多个子系统,模块,组件

    架构内容

    1、技术(基础架构组) --> 对源码改造,更加适合开发需求

    2、应用架构(面向业务层次)

    3、系统架构 (运维)

    架构师具备的能力

    1、管理能力,人员协调;

    2、技术实力,技术深度和技术面的认识;

    3、沟通表达能力

    4、抽象思维

    架构师要做的事情

    1、业务场景分析:用例图、流程图、时序图

    2、技术的选型(开源)

    3、技术规格说明书

    4、线下架构峰会,扩宽你的你的眼界

    https://www.infoq.cn/

    架构演进(Java演变:jsp/servle --> ssh --> spring boot --> spring cloud)

    1、用户量、业务复杂度、数据量

    2、

     

     

    1、数据库优化,sql

    2、读写分离,读和写进入到不通数据库(mycat,shardingjdbc) 封库分表

    3、搜索引擎 Elasticsearch ,Solr,  Lucene

    4、数据库

    数据库

    TIDB
    PG
    TDSql
    OceanBase


    缓存
    MongoDB
    Hbase
    cassandra
    redis
    memcached


    文件存储
    FASTDFS
    OSS
    COS

    5、数据库优化-拆分

      水平拆分  水平分表,数据分到多个表里面,比如1000w数据 ,拆分成多个小表数据

      垂直拆分  列数比较多的表,拆分成多个小表存储不通数据

      冷热数据库分离,
      
    带来的问题
    跨表查询,查询的条件不是分片键的时候怎么办?

    分布式事物问题?

    6、业务的垂直化拆分 

    电商服务 :  库存,订单,交易 服务拆分; 每一个服务都是独立的单体架构

    问题: 每个服务数据冗余

    演变:把公共服务抽离出来, 库存服务,订单服务,交易服务

    面相服务SOA: 解决信息孤岛【数据不共享】、服务复用 问题 (面相服务SOA≈ 微服务架构)

  • 相关阅读:
    使用session页面控制登录入口及购物车效果的实现
    php中会话保持 session 与cooker
    php多关键字查询
    php后台编辑关联数据
    php后台增删改跳转
    php登录注册页面及加载
    [bzoj4098] [Usaco2015 Open]Palindromic Paths
    [bzoj1969] [Ahoi2005]LANE 航线规划
    4395: [Usaco2015 dec]Switching on the Lights
    [bzoj2789] [Poi2012]Letters
  • 原文地址:https://www.cnblogs.com/laotan/p/13056727.html
Copyright © 2020-2023  润新知