脚本宝典收集整理的这篇文章主要介绍了T31项目第10天,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
特点F1a;单体架构,功能无法扩展,业务之间耦合度高,业务之间调用简单方便
优点:自上而下向下,降低耦合性,通过ESB进行各个模块之间通信 从运维角度出发,聚焦可维护性,兼顾可扩展性,前后端分离 缺点:服务拆分粒度大,通过ESB来统一管理服务之间调用,耦合度高
特点:去中心化,将服务组件化,一个组件就是一个产品,服务切分力度更小,设计师自上而下,聚焦可扩展性,兼顾可维护性 主要特性: 业务隔离、并行开发、易于维护、单独部署: 总结:不能为了微服务而微服务,需要考虑业务量(qps,ops等)、维护工作量等
具备特性: 1.创建spring应用方便,减少开发步骤,简化项目的构建配置 2.内嵌tomcat等,减少第三方应用配置 3.自动配置spring以及第三方库 4.提供生产级别特性
数据库的链接特性: 开启链接和关闭链接需要手动关闭 服务器连接数有限,不关闭链接会占用链接资源 执行数据库操作的性能效率是封装JDBC的组件(;mybatis,mybatis-plus)20%性能 数据库链接数限制: MySQL5.5 mySQL5.6 mysql5.7:默认的最大连接数都是151,上限为:100000,根据不同mysql的版本,连接数也不同 连接数修改查看参考:https://www.cnblogs.COM/caoshousong/p/10845396.htML
mybatis执行的逻辑
JDBC连接池:解决自己需要自己建立连接,关闭链接,连接池中哟哟一个标准的接口:javax.sql.DataSource
一.DBCP (Database Connection Pool) 是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。 二.C3P0 是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和statement 池的DataSources 对象。 三.Proxool 是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能 四.BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要LOG4j和GOOGLE Collections的支持。BoneCP 的JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。 五.druid 德鲁伊: 阿里开源的JDBC gIThub: https://github.com/alibaba/druid
<dePEndency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid-version}</version>
</dependency>
1.连接池的建立 2.连接池中连接的使用管理 3.连接池的关闭
消息传输过程中保存消息的容器,生产者和消费者不直接通信,依靠队列保证消息可靠性,避免系统的相互干扰
分类 P2P模式:生产者通过消息队列直接向消费者发送消息 订阅模式:发布消息者将消息发布到不同的主题,订阅者订阅不同主题的消息; 功能作用: 服务之间解耦,提高系统响应时间 常见消息中间件 kafka,rocketMQ,rabbitMQ 不用消息中间件对比
中间件特性参考:https://blog.csdn.net/wqc19920906/article/details/82193316调用方 服务提供方 注册中心 1.服务提供方注册服务到注册中心 2.调用方向注册中心请求服务获取服务提供方的信息(状态,服务ID,IP等信息) 3.调用方与服务提供方建立连接,调用服务
解决的问题: 不用的客户端需要不同数据 客户端需求和每个微服务暴露的细粒度 API 不匹配 客户端的传输协议不同 网关的关注点: 稳定安全:全局性流控,防止web攻击,屏蔽工具扫描,黑白名单,证书/加密处理 保证服务高效可用:服务级别限流,降级,熔断,路由与负载均衡,服务过滤、聚合、发现,多级缓存策略
流量网关/业务网关 流量网关:接入所有的流量,并分发给不同的子系统 业务网关:根据业务来分发给不同的业务模块
单节点网关/多节点网关 多节点:使用需要不同业务数据类型(app,web等)
常见网关的对比:
客户端–>netty server --> route( predict、filter)–> netty-client -->Proxy server (代理服务) 通信模块:Netty
以上是脚本宝典为你收集整理的T31项目第10天全部内容,希望文章能够帮你解决T31项目第10天所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。