![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
框架架构学习
文章平均质量分 87
wyplj_sir
只是总结。
展开
-
注册中心Eureka和ZooKeeper
文章目录简介对比ZookeeperEureka总结简介Eureka本身是Netflix开源的一款提供服务注册和发现的产品,并且提供了相应的Java封装。在它的实现中,节点之间相互平等,部分注册中心的节点挂掉也不会对集群造成影响,即使集群只剩一个节点存活,也可以正常提供发现服务。哪怕是所有的服务注册节点都挂了,Eureka Clients(客户端)上也会缓存服务调用的信息。这就保证了我们微服务之间的互相调用足够健壮。Zookeeper主要为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。曾经转载 2021-08-05 17:22:44 · 278 阅读 · 0 评论 -
Apollo配置中心(Springboot接入)
apolloapollo是一个分布式配置中心(其实也是一个微服务项目)。原理就是把配置文件中的key,value的值存到Apollo中,然后项目启动的时候从Apollo中读取1、为什么使用apollo在我们开发分布式微服务项目的时候,那些配置一旦变更,就需要重启服务,这样非常不友好。因此我们考虑动态更改配置文件当中的配置,所以把那些配置全部存放在apollo当中,这样就能达到动态的效果,并且不用重启服务。2、主要功能能够集中式管理不同环境(environment)、不同集群(clus原创 2021-08-05 15:56:43 · 5732 阅读 · 0 评论 -
mybatis中#和$的区别
#{}:占位符号,好处防止sql注入(语句的拼接)${}:sql拼接符号1、动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。#{} 的参数替换是发生在 DBMS 中,而 ${} 则发生在动态解析过程中。如下例子:#{} 在预处理时,会把参数部分用一个占位符 ? 代替,变成如下的 sql...原创 2019-02-28 16:19:18 · 142 阅读 · 0 评论 -
Mybatis sql模糊查询(先排序后去重)和时间范围查询
模糊查询模糊查询本身用like关键字即可:SELECT DISTINCT field_nameFROM table_nameWHERE field_name LIKE "%"#{fieldName,jdbcType=VARCHAR}"%"这里要注意"%"的使用,如果不加的话,mybatis会解析错误另外,jdbcType=BIGINT的模糊查询存在问题一般模糊查询都需要去重,会用到distinct关键字,但我们的需求又希望能输出按某个字段排序的前几个,比如:按时间倒序的前五个,这个时候s原创 2020-07-16 12:18:39 · 1594 阅读 · 3 评论 -
Mybatis Mapper映射到XML
Mapper原创 2020-09-05 16:22:58 · 1198 阅读 · 0 评论 -
Spring AOP
文章目录AOP简介AOP和OOPAOP相关概念通过注解配置AOP5种通知类型切点表达式例子通过XML配置AOP通过动态代理配置AOPAOP简介AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待。简单说就是,在不改变原有的逻辑的基础上,增加一些额外的功能。AOP和OOPAOP可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承原创 2020-05-19 21:26:34 · 193 阅读 · 0 评论 -
Spring常用注解浅析
传统Spring(不使用注解)传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低。2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维...原创 2020-04-27 10:39:41 · 298 阅读 · 0 评论 -
微服务架构和SOA架构
简介微服务架构(Microservice Architecture)通过把一个大型的应用拆分成一系列分布式组件,进而达到降低系统耦合性的目的。微服务是从一开始的单体架构到SOA架构,然后发展到微服务架构。单体架构单体架构(Monolithic Architecture)是一种传统的架构模式,它将所有的功能模块实现在一个应用程序中。单体式开发架构图优缺点:易于开发,我们目前...原创 2020-04-18 11:50:16 · 317 阅读 · 0 评论 -
rest服务理解以及restful api
REST服务rest-----(resource)REpresentational State Transfer,即资源在网络中以某种表现形式进行状态转移。Resource:资源,即数据(前面说过网络的核心)。Representational:某种表现形式,比如用JSON,XML,JPEG等。State Transfer:状态变化。通过HTTP动词实现。优点:改变网页前后端融在一起的现...原创 2017-10-23 19:23:50 · 899 阅读 · 0 评论 -
使用API网关构建微服务
有关微服务的系列文章的第一篇介绍了微服务架构模式,讨论了使用微服务的优缺点,以及为什么它们虽然复杂度高却常常是复杂应用程序的理想选择。当选择将应用程序构建为一组微服务时,需要确定应用程序客户端如何与微服务交互。在单体应用程序中,只有一组(通常是重复的、负载均衡的)端点。然而,在 微服务架构中,每个微服务都会暴露一组通常是细粒度的端点。在本文中,我们将讨论一下这对客户端与应用程序之间的通信...转载 2017-11-24 14:29:19 · 382 阅读 · 0 评论 -
dropwizard框架学习
Dropwizard:Overview:Dropwizard straddles the line between being a library and a framework. 跨越了库和框架之间的界限。Jetty for Http:由于不能成为一个没有HTTP的web应用程序,Dropwizard使用Jetty HTTP库将一个HTTP服务器嵌入到项目原创 2017-10-23 19:11:01 · 680 阅读 · 0 评论 -
ORM框架理解
1. 什么是ORM?对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多转载 2017-10-23 20:42:42 · 394 阅读 · 0 评论