Rumah  >  Artikel  >  Java  >  Cara menggunakan seni bina perkhidmatan mikro pada fungsi biasa dalam pembangunan Java

Cara menggunakan seni bina perkhidmatan mikro pada fungsi biasa dalam pembangunan Java

王林
王林asal
2023-09-18 10:21:27749semak imbas

Cara menggunakan seni bina perkhidmatan mikro pada fungsi biasa dalam pembangunan Java

Cara menggunakan seni bina perkhidmatan mikro untuk fungsi biasa dalam pembangunan Java

Dengan perkembangan pesat Internet dan Internet mudah alih, sistem aplikasi perisian telah berkembang daripada seni bina monolitik sebelum ini kepada seni bina perkhidmatan mikro. Seni bina perkhidmatan mikro telah menjadi seni bina pilihan untuk pembangunan perisian moden kerana kelebihannya seperti gandingan longgar, kebolehskalaan dan kebolehselenggaraan. Bagi pembangun Java, cara menggunakan fungsi biasa pada seni bina perkhidmatan mikro ialah persoalan yang memerlukan pemikiran dan amalan. Artikel ini akan memperkenalkan beberapa fungsi pembangunan Java biasa, cara menggunakannya pada seni bina perkhidmatan mikro dan menyediakan contoh kod khusus.

  1. Fungsi akses pangkalan data
    Dalam pembangunan Java tradisional, kami sering menggunakan rangka kerja JDBC atau ORM untuk akses pangkalan data. Dalam seni bina perkhidmatan mikro, fungsi capaian pangkalan data boleh dibahagikan kepada perkhidmatan bebas, dengan setiap perkhidmatan bertanggungjawab untuk domain datanya sendiri. Contohnya, anda boleh menggunakan Spring Boot untuk mencipta perkhidmatan akses pangkalan data bebas dan menggunakan Spring Data JPA untuk operasi data. Berikut ialah contoh kod mudah:
@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/users/{id}")
    public User getUser(@PathVariable("id") Long id) {
        return userRepository.findById(id).orElse(null);
    }

}

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    // 省略 getter 和 setter 方法
}

@Repository
public interface UserRepository extends JpaRepository<User, Long> {

}
  1. Fungsi caching
    Dalam pembangunan Java, kami sering menggunakan teknologi caching seperti Redis atau Memcached untuk meningkatkan prestasi dan kebolehskalaan sistem. Dalam seni bina perkhidmatan mikro, fungsi cache boleh digunakan sebagai perkhidmatan bebas dan dikongsi oleh berbilang perkhidmatan mikro. Berikut ialah kod sampel menggunakan cache Redis:
@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @Autowired
    private RedisTemplate<String, User> redisTemplate;

    @GetMapping("/users/{id}")
    public User getUser(@PathVariable("id") Long id) {
        String key = "user:" + id;
        User user = redisTemplate.opsForValue().get(key);
        if (user == null) {
            user = userRepository.findById(id).orElse(null);
            if (user != null) {
                redisTemplate.opsForValue().set(key, user);
            }
        }
        return user;
    }

}
  1. Fungsi giliran mesej
    Dalam sistem yang diedarkan, baris gilir mesej ialah teknologi biasa untuk mencapai komunikasi tak segerak dan pencukuran beban puncak. Dalam seni bina perkhidmatan mikro, baris gilir mesej boleh digunakan untuk memisahkan perkhidmatan mikro yang berbeza dan melaksanakan mekanisme penerbitan dan langganan mesej. Sebagai contoh, RabbitMQ boleh digunakan sebagai baris gilir mesej untuk mencapai penyahgandingan antara perkhidmatan mikro. Berikut ialah kod sampel ringkas:
// 定义消息发送者
@Component
public class MessageSender {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void sendMessage(String message) {
        rabbitTemplate.convertAndSend("exchange", "routingKey", message);
    }

}

// 定义消息接收者
@Component
public class MessageReceiver {

    @RabbitListener(queues = "queue")
    public void receiveMessage(String message) {
        System.out.println("Received message: " + message);
    }

}

// 在微服务中使用消息发送者发送消息
@RestController
public class UserController {

    @Autowired
    private MessageSender messageSender;

    @PostMapping("/users")
    public void createUser(@RequestBody User user) {
        // 创建用户
        // ...

        // 发送消息
        messageSender.sendMessage("New user created: " + user.getName());
    }

}

Melalui kod sampel di atas, kita dapat melihat dengan jelas cara menggunakan fungsi pembangunan Java biasa pada seni bina perkhidmatan mikro dan mencapai pemisahan dan penyahgandingan fungsi yang sepadan.

Ringkasnya, fungsi biasa dalam pembangunan Java, seperti akses pangkalan data, caching dan baris gilir mesej, boleh dipecah dan dipisahkan secara berfungsi melalui seni bina perkhidmatan mikro. Akses pangkalan data, caching dan fungsi baris gilir mesej dilaksanakan melalui perkhidmatan bebas dan berkomunikasi melalui antara muka antara perkhidmatan untuk mencapai seni bina sistem yang digandingkan secara longgar. Dalam pembangunan sebenar, isu seperti penggunaan perkhidmatan, pengimbangan beban dan mekanisme toleransi kesalahan juga perlu dipertimbangkan untuk memastikan kestabilan dan kebolehskalaan seni bina perkhidmatan mikro.

Atas ialah kandungan terperinci Cara menggunakan seni bina perkhidmatan mikro pada fungsi biasa dalam pembangunan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn