- 博客(24)
- 收藏
- 关注
原创 Config配置中心
Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。Config配置中心的基本使用,git中心存在文件。
2022-10-21 10:15:46 603 1
原创 gateway服务网关
gateway相当于所有请求的必经之路,客户端请求通过gateway后由定义的路由、断言、过滤器进行验证后转发,只有同时符合条件才给予转发。常用的功能包括路由转发,权限校验,限流。
2022-10-19 17:43:55 301
原创 OpenFeign在Spring Cloud中的使用
OpenFeign是Spring Cloud在Feign的基础上支持了SpringMVC的注解,如@RequestMapping等等,OpenFeign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。OpenFeign的使用方式是:使用OpenFeign的注解定义接口,调用接口,就可以调用服务注册中心的服务。消费者定义接口加上@FeignClient(value = “CLOUD-PAYMENT-SERVICE”)注解,接口内方法即为服务者的Control的方法,复制粘贴。
2022-10-14 21:56:30 249
原创 Ribbon+LoadBalance
需要使用LoadBalance来设置自定义的负载均衡。主要提供客户端的负载均衡算法和服务调用。我们也可以使用ribbon实现自定义的负载均衡算法。Ribbon是客户端的负载均衡,Nginx是服务器的负载均衡。自定义的ribbon负载规则不能放在@ComponentScan所扫描的包下以及子包下,也就是说不能放在主启动类所在的包内,要与主启动类所在包并列。eureka自带了ribbon依赖,所以只需加入eureka客户端依赖。以下为Ribbon均衡负载规则的类型。自定义ribbon负载均衡算法。
2022-10-14 17:57:04 804
原创 Zookeeper与Spring Cloud结合
ZooKeeper 一个最常用的使用场景就是用于担任服务生产者和服务消费者的注册中心。服务生产者将自己提供的服务注册到 ZooKeeper 中心,服务的消费者在进行服务调用的时候先到 ZooKeeper 中查找服务,获取到服务生产者的详细信息之后,再去调用服务生产者的内容与数据。Zookeeper可以搭建集群版,最好使用奇数台服务器构成 ZooKeeper 集群, ZooKeeper 中 Leader 选举算法采用了 Zab 协议。安装的zookeeper版本需与pom引入的版本一致,否则将会报错。
2022-10-14 11:18:20 568
原创 eureka客户端与服务端的搭建
Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。eureka作为服务注册中心,Eureka保证了AP。个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。
2022-10-14 10:13:11 936
原创 rabbitmq发布确认
生产者将消息发送至交换机,数据在中途可能各种原因丢失到达不了交换机,只需写一个配置类实现***RabbitTemplate.ConfirmCallback***接口重写***confirm***方法回调,根据confirm方法的参数可以知道交换机是否接收到消息,交换机收到消息后根据routingKey送至队列,送至队列的过程中可能导致数据丢失无法到达队列,配置类实现***RabbitTemplate.ReturnsCallback***接口重写***returnedMessage***方法回退消息至消费者。
2022-09-24 21:29:44 570
原创 SSM整合web开发准备事项
1.创建maven项目2.加入依赖(pringmvc,spring,mybatis,jackson,mysql,druid,jsp,servlet等) <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version>
2022-01-30 21:42:03 1277 1
原创 spring-aop中的通知(增强)
1.前置通知:在业务代码执行前执行增强代码@Before(value = "execution(业务代码路径)")2.后置通知:
2021-03-01 20:30:57 323
原创 spring-aop动态代理功能增强步骤(Aspectj)
1.加入Aspectj的maven依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>4.3.19.RELEASE</version> </dependency>2.编写接口(jdk动态代理需要实现接口)
2021-03-01 11:02:04 355 2
原创 Mybatis的三种传值方式
第一种:使用@Param注解传值注意:#{}内的值必须与注解内的一致接口内的抽象方法/**接口内的抽象方法**/public abstract User selectUser(@Param("id") int userId);映射文件的sql语句<!-- 映射文件的sql语句--> <select id="selectUser" resultType="User"> select * from user where userId = #{i
2021-01-24 20:39:29 1048
原创 Mybatis动态代理获取接口实现类
UserDao接口package com.example.dao;import com.example.entity.User;import java.util.List;public interface UserDao { /** * 查询所有用户 * @return */ public abstract List<User> selectUsers();}UserDao.xml映射文件<?xml version="1.
2020-12-26 16:18:38 590 2
原创 Mybatis封装类
使用Mybatis封装类来获取SqlSessionpackage com.example.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import
2020-12-26 16:04:49 211
原创 动态代理
UsbShell.javapackage dontaidiali.service;/** * 目标接口 */public interface UsbShell { float sell(int amount);}UsbKingFactory.javapackage dontaidiali.factory;import dontaidiali.service.UsbShell;/** * 目标类 */public class UsbKingFactory implem
2020-12-15 17:39:41 156
原创 通过Session和过滤器防止恶意登录
web.xml配置文件告知Tomcat当浏览器访问任意一个网站时,通过Protect过滤器进行过滤。 <filter> <filter-name>Protect</filter-name> <filter-class>com.filter.Protect</filter-class> </filter> <filter-mapping> <filter
2020-10-22 12:24:50 746 1
原创 基于Servlet+MySQL实现简单的题库网页
基于Servlet+MySQL实现简单的题库网页基本思想Servlet代码do类查询数据库提示基本思想通过doGet方法创建出网页,提交表单时调用doPost方法进行处理数据,从数据库中查找出所有的问题,再查找出所有问题的正确答案和表单传入的数据进行比对,正确加分数;Servlet代码package com.controller;import com.Do.UserDo;import com.entry.Question;import javax.servlet.ServletExcept
2020-10-20 18:04:22 274
原创 杨辉三角java-----二维数组
打印杨辉三角/** * @author zhang */public class Solution { public static void main(String[] args) { //创建十行的二维数组 int[][] a = new int[10][]; //为每一行开辟i+1个空间,并为第一个数与最后一个数赋值 for (int i = 0; i < a.length; i++) { a[
2020-10-19 14:55:48 296
原创 封装jdbc类连接MySQL数据库
Jdbc封装类package com.util;import java.sql.*;public class Jdbc { static { try { Class.forName("com.mysql.cj.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } String ur
2020-10-18 15:36:21 185 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人