Tổng hợp các công nghệ và các công cụ phổ biến hay được sử dụng trong các dự án ASP .NET

Bạn có thể tham khảo các dự án dưới đây để hiểu người ta xây dựng ứng dụng lớn và triển khai lên Cloud như thế nào

EShopOnContainers

Github
https://github.com/dotnet-architecture/eShopOnContainers

CoolStoreMicroservice
Github
https://github.com/vietnam-devs/coolstore-microservices

Dưới đây là tổng hợp các công nghệ và công cụ phổ biến dùng trong các dự án ASP .NET nói riêng và Web development nói chung

Các kiến thức chung

OOP, C#, Linq
Data Structures and Algorithms
Design Patterns
Domain Driven Design
SOLID, KISS, YAGNI
Git, Github
CI/CD
HTTP, HTTPS
SQL
ORM (Entity Framework Core)
ASP .NET Core cơ bản (MVC, REST, Razor Pages, Middlewares, Filters & Attributes, Application Settings & Configurations ...)
dotnet CLI
Microservices sử dụng API Gateway
CQRS, Commands, Queries Events Handlers
Authentication and Authorization
Basic Terminal
SSH
Character Encoding

Database

Relational Database (SQL Server, MySQL, PostgreSQL, MariaDB ...)
NoSQL Databases (MongoDB, CouchDB, Cassandra, RavenDB ...)
Cloud Databases (Azure CosmosDB, Amazon DynamoDB, ...)

Thiết kế API

RESTful API sử dụng ASP.NET Core
GraphQL, Apollo
ServiceStack

Testing

Unit Test
xUnit, NUnit
Moq, NSubstitute, FakeItEasy
FluentAssertions, Shouldly

Integration Test
WebApplicationFactory, TestServer

E2E Test
Selenium, PuppeteerSharp

Security

Authentication / Authorization (OAuth, Basic Authentication, Token Authentication, Jwt, OpenID ...)
IdentityServer

Logging

ELK Stack
Serilog, Nlog, log4net
Seq
Sentry.io
Graylog

Monitoring

App Metrics, Grafana, Prometheus, Zipkin, Jaeger

Caching

Memory caching
Distributed caching (Redis, Memcached)
Database Caching

Real time communication

SignalR

Messaging

Message Broker
RabbitMQ, RawRabbit, Apache Kafka, ActiveMQ
Azure Service Bus

Message Bus
CAP, MassTransit, NServiceBus

API Gateway

Ntrada, Ocelot , Kong

Task Scheduling

HangFire, Coravel

Search

ElasticSearch, Solr, Sphinx

Dealing with asynchronous requests

Process Managers and Sagas

Internal HTTP communication 

RestEase

Service discovery

Consul, Eureka

Service mesh

Linkerd, Istio

Service proxy

Envoy

Package manager for Kubernetes

Helm

RPC framework

gRPC

Load balancing

Fabio

Storing secrets 

Azure Key Vault, Vault

Build tự động

AppVeyor, Travis CI, Bitbucket Pipelines or Azure Pipeline

Containers

Docker
Kubernetes

Web  Server

Linux
Nginx, Apache

Orchestrating services on VM or in the Cloud

Portainer or Rancher (Built on top of Kubernetes)

Nuget

Managing your own Nuget feeds (e.g. MyGet)

Các thư viện hữu ích

AutoMapper
MediatR
FluentValidation
Swashbuckle
Polly
NodaTime
Genfu
Newtonsoft.Json
Dapper
FluentAssertions
RestSharp
StackExchange.Redis
RabbitMQ.Client
Elasticsearch.Net
CsvHelper
...


Tiếp tục cập nhật ...

Post a Comment

0 Comments